Maven& Spring从外部文件导入资源XML

时间:2013-11-14 14:58:56

标签: java spring maven-assembly-plugin

我正在尝试从外部文件导入部分弹簧上下文。在我的春天xml的底部我有:

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

我想使用命令行参数指定$ {file},我使用JVM属性。 我正在使用maven程序集插件创建一个可执行jar。

然后我运行它并指定一个带有JVM参数的文件:

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

当我使用eclipse进行调试时,这很正常。

但是当我使用maven spring打包我的文件无法解析路径时出于某种原因它会尝试在“spring / model-a.xml”中找到该文件 我使用maven-assembly-plugin构建我的jar。

为什么使用java -jar运行会在我的路径中添加“spring /”?

2 个答案:

答案 0 :(得分:2)

将弹簧配置更改为:

后解决了这个问题
<import resource="file:${file}" />

并使用java -jar [jar] -Dfile = realpath model-a.xml

答案 1 :(得分:0)

查看target/classes中文件的副本;您可能会发现${file}已消失,并已替换为model-a

为了解决这个问题,我建议为变量使用更长的名称,最好是告诉其他人这个变量的含义。