[英]How to load a spring context from external library's spring files
我的工作區中有2台服務器,它們具有通用代碼。 -為了簡化起見,我將它們稱為ServerA
和ServerB
。 兩台服務器都使用Spring和Maven。 由於通用代碼,我決定制作一個名為ServerLib
的庫來存儲通用代碼。 因此,現在ServerLibrary像其他兩台服務器一樣,在其src/resources
也包含spring xml文件。
在ServerA主要方法中,我調用
List<String> springContextFiles = new ArrayList<String (Arrays.asList("spring/common.xml", "spring/serverAOnly.xml"));
context = new ClassPathXmlApplicationContext(springContextFiles.toArray(new String[springContextFiles.size()]));
當公用代碼和spring xml文件在ServerA項目中時,此方法可以正常工作。 現在我將它們放在ServerLib
,它不再起作用並拋出錯誤java.lang.NoSuchMethodError: org.springframework.beans.support.ResourceEditorRegistrar.<init>(Lorg/springframework/core/io/ResourceLoader;)V
ServerA和ServerLib均具有4.1.6.RELEASE的春季版本。 另外,我嘗試將spring文件放回ServerA,但將常見的Java文件保留在ServerLib中。 它仍然引發相同的錯誤。
我正在使用maven注入依賴項,但在這種情況下,ServerLib只是作為構建路徑的必需項目添加到了Java構建路徑中。 它被正確引用,因為我可以在Eclipse的Maven Dependencies列表中看到本地項目。
任何幫助將不勝感激! 非常感謝。
盡管我從maven的庫中排除了spring依賴關系-這就是為什么我的依賴關系樹很干凈的原因,但它是從工作區中打開的本地庫中引入了spring的舊版本。 關閉這些項目擺脫了錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.