我有一個庫,它可以在運行Spring項目時運行Spring及其正確初始化。當我啓動其他項目並將該庫作爲依賴項添加時,我得到初始化失敗。 下面是代碼:將庫添加爲依賴項時,彈簧初始化不起作用
public class CBRepoFactory implements IRepoFactory {
private UserActivityRepositoryService userActivityRepositoryService;
private ItemInformationRepositoryService itemInformationRepositoryService;
public CBRepoFactory() {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(Config.class);
ctx.scan("com.example.db.app");
ctx.refresh();
userActivityRepositoryService = ctx.getBean(UserActivityRepositoryService.class);
itemInformationRepositoryService = ctx.getBean(ItemInformationRepositoryService.class);
// ctx.close();
}
@Override
public IRepoClient<UserActivity> getUserActivityRepositoryService() {
// TODO Auto-generated method stub
return this.userActivityRepositoryService;
}
@Override
public IRepoClient<ItemInformation> getItemInformationRepositoryService() {
// TODO Auto-generated method stub
return this.itemInformationRepositoryService;
}
}
下面是我從這個項目時,作爲一個依賴添加越來越例外。
[main] INFO org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.spring[email protected]3d71d552: startup date [Fri Aug 18 14:05:41 PDT 2017]; root of context hierarchy
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/io/support/PropertySourceFactory
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:301)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525)
at com.ebay.db.app.clientImpl.CBRepoFactory.<init>(CBRepoFactory.java:23)
at com.ebay.db.app.clientImpl.RepoFactoryBuilder.createFactory(RepoFactoryBuilder.java:11)
at testDBClient.testProgram.main(testProgram.java:15)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.support.PropertySourceFactory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more
任何人都可以幫助我解決這個問題。
你怎麼你的第一個lib中jar添加到您的第二個項目?如果通過Maven,那麼你是如何將你的第一個lib jar發佈到Maven repo的?請分享您的pom文件相關的春天 – dimitrisli
發佈您的pom。你在部署戰爭嗎? – SamDJava
後*兩個* POMs。看起來像版本不匹配。 – chrylis