我想使用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 based container configuration,编译通过。我的代码适用于JUnit4。
appCtx = new AnnotationConfigApplicationContext(AppConfig.class);
答案 0 :(得分:0)
您确定要正确导入AppConfig吗?否则,请确保已真正部署该类(检查部署目录)。
答案 1 :(得分:0)
我google了很长时间,但是找不到任何关于spring如何解析类路径的答案。但是我发现有人试图明确设置类加载器,所以我试过了。
appCtx = new AnnotationConfigApplicationContext();
appCtx.setClassLoader(this.getClass().getClassLoader());
appCtx.register(AppConfig.class);
appCtx.refresh();
它有效:D
但是我对这个答案不满意。我希望有人可以指出我的类加载逻辑有什么问题。