簡體   English   中英

如何從外部庫的spring文件中加載spring上下文

[英]How to load a spring context from external library's spring files

我的工作區中有2台服務器,它們具有通用代碼。 -為了簡化起見,我將它們稱為ServerAServerB 兩台服務器都使用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列表中看到本地項目。

任何幫助將不勝感激! 非常感謝。

注意:ServerA項目中的Spring版本如下。 Maven依賴樹僅在4.1.6.RELASE版本中顯示spring 在此處輸入圖片說明

盡管我從maven的庫中排除了spring依賴關系-這就是為什么我的依賴關系樹很干凈的原因,但它是從工作區中打開的本地庫中引入了spring的舊版本。 關閉這些項目擺脫了錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM