2013-11-14 42 views
0

我試圖從外部文件中導入部分我的spring上下文。在我的Spring XML的底部我:Maven&Spring從外部文件導入資源XML

<import resource="${file}" /> 

我想用命令行參數來指定$ {}文件和我使用該JVM性能。 我正在使用maven assembly插件製作一個可執行的jar文件。

然後我運行它,我指定與JVM參數文件:

java -jar [app.jar] -Dfile=model-a.xml 

當我調試使用eclipse這工作得很好。

但是,當我使用maven打包文件spring無法解析路徑,並由於某種原因它試圖在「spring/model-a.xml」中找到文件我使用maven-assembly-plugin構建我的jar。

爲什麼使用java -jar運行將「spring /」添加到我的路徑中?

+0

您可以添加您spring.xml和你劇目的樹?我相信spring/get會被添加,因爲它是relativePath,而你的文件是src/main/resources/spring/spring.xml。 – zenbeni

回答

1

這是改變彈簧配置後問題:

<import resource="file:${file}" /> 

而使用Java的罐子[罐子] -Dfile = realpath model-a.xml

0

查看target/classes中的文件副本;您可能會發現${file}已不存在,並已被model-a取代。

爲了解決這個問題,我建議爲這個變量使用一個更長的名字,最好是告訴別人這個意思是什麼。