使用Maven配置文件运行测试

3
在Eclipse中,我有一个MVN项目A,它依赖于mvn项目B-C-D。
项目B包含一个名为mysettings.xml的文件,在其中我有一个属性,如下所示:<iduser>${my.iduser}</iduser> 我有一个名为“deployment”的Maven配置文件,将iduser属性设置为“ADMIN”。当我启动一个指定“deployment”配置文件的Maven清理包时,在mysettings.xml文件中我会发现<iduser>ADMIN</iduser> 然后我创建了一个名为“mytest”的新配置文件,将该属性设置为“TESTUSER”。
如果我在项目C上调用mvn -Dtest=MyClassTest -P mytest,似乎Maven不会替换项目B的mysettings.xml文件中的${my.iduser}
有谁知道如何在测试阶段运行此操作?谢谢
1个回答

2
Maven不能满足你的期望。使用构建项目B时指定的任何配置文件,mysettings.xml文件将被放置在Project B的jar文件中,并且${my.iduser}占位符将被过滤掉。它不会来自于项目B的源目录。
我从未找到用Maven解决这个问题的令人满意的方法。如果mysettings.xml是Spring配置文件,则可以在运行时使用PropertySourcesPlaceholderConfigurer而不是在构建时使用Maven过滤。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接