如何在MAVEN_OPTS环境变量中设置-DargLine系统属性?

时间:2017-08-24 14:30:23

标签: shell maven command-line environment-variables system-properties

我正在使用maven并且有一个系统属性列表-DA=alpha-DB=beta -DS=random_stuff我希望在maven运行时传递给单元测试,而不能进入pom个文件。

SurefireFailsafe插件基本上都说您可以通过-DargLine系统属性传递值来将值传递给测试。

通常它在pom.xml中定义,例如

<argLine>-DA=alpha -DB=beta -DS=random_stuff</argLine>

但我也看到了从命令行传入-DargLine=...的示例。

我认为我需要在argLine通过-DargLine="-DA=alpha -DB=beta -DS=random_stuff" 传递系统属性的引号,因为它们是空格分隔的:

MAVEN_OPTS

现在我想通过argLine环境变量传递它们(它还“携带”其他系统属性,而不仅仅是MAVEN_OPTS="-Dxyz=abc ... -DargLine=\"-DA=alpha -DB=beta -DS=random_stuff\"" )。到目前为止我所拥有的是:

argLine

换句话说,我逃脱了-DS的引用。不幸的是,结尾引用现在被视为S值的一部分,即random_stuff"现在被A取代 - 而不是我想要的。

如何做我想做的事情,即确保BSargLine作为argLine的一部分传入,并传递{{ 1}}作为MAVEN_OPTS的一部分?

PS:我也厌倦内部单引号(同样无法使用的结果:some_stuff')和unescaped inner double quotesMAVEN_OPTS=" ... -DargLine="-DA=alpha ..."",导致在尝试获取.bash_profile时出错,两者都有不成功...

0 个答案:

没有答案