2014-03-05 36 views
0

我有兩個項目。一個是Project-A,它包含數據庫操作java代碼和spring bean定義xml文件。結構是:在jar文件中導入bean定義時出錯

enter image description here

resources/base是源文件夾和configure是源文件夾內的包。 base-definitions.xml加載剩餘的xml文件[dao-service-definitions.xml and transaction-definition.xml]如下。

基definitions.xml中

<import resource="classpath:configure/dao-service-definitions.xml"/>  
<import resource="classpath:configure/transaction-definition.xml"/> 

然後,我建立了一個項目,包括使用Ant的Spring bean definiton文件的jar文件。我用zipfileset來設置jar文件裏面的xml文件目錄。結構與上圖相同。 resources\base\configure\[xml files]

的build.xml

<zipfileset dir="../resources/base/configure" includes="*.*" prefix="resources/base/configure" /> 

在另一個項目-B,我進口的jar文件,並設置類路徑。然後從Project-A導入base-definitions.xml到Project-B中的另一個xml。

<import resource="classpath*:**/base-definitions.xml"/> 

問題:

問題是base-definitions.xml被發現,但無法找到該進口的定義文件。

提取錯誤:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath*:**/base-definitions.xml] 
Failed to import bean definitions from URL location [classpath:configure/dao-service-definitions.xml] 
class path resource [configure/dao-service-definitions.xml] cannot be opened because it does not exist 

我在做什麼錯?感謝您寶貴的時間。

回答

0

在基礎definitions.xml中,我改變了

<import resource="classpath:configure/dao-service-definitions.xml"/>  
<import resource="classpath:configure/transaction-definition.xml"/> 

<import resource="classpath:resources/base/configure/dao-service-definitions.xml"/> 
<import resource="classpath:resources/base/configure/transaction-definitions.xml"/> 

,現在正在工作。我發現,因爲Project-A打算在另一個項目中使用jar文件,所以結構必須是絕對路徑。