0

我想创建一个使用 Spring 作为 Ioc 的 Solr 数据导入处理程序。当我尝试从 Solr 调用处理程序时,出现以下错误

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: com.yoox.shanghai.AppConfig; nested exception is java.io.FileNotFoundException: class path resource **[com/my/app/AppConfig.class]** cannot be opened because it does not exist

请注意消息中打印的路径。看起来它正在使用相对路径。我不知道是什么原因。

我正在使用基于 Java 的容器配置,并且编译通过了。我的代码适用于 JUnit4。

appCtx = new AnnotationConfigApplicationContext(AppConfig.class);
4

2 回答 2

0

您确定正确导入 AppConfig 吗?否则请确保该类已真正部署(检查部署目录)。

于 2013-04-15T08:17:26.290 回答
0

我google了很长时间,但找不到任何关于spring默认如何解析类路径的答案。但是我发现人们正在尝试显式设置类加载器,所以我尝试了。

appCtx = new AnnotationConfigApplicationContext();
appCtx.setClassLoader(this.getClass().getClassLoader());
appCtx.register(AppConfig.class);
appCtx.refresh();

它有效:D

但是我对这个答案并不满意。我希望有人能指出我的类加载逻辑有什么问题。

于 2013-04-15T10:13:49.970 回答