gpt4 book ai didi

Maven 万无一失 : append to argLine

转载 作者:行者123 更新时间:2023-12-03 22:35:57 26 4
gpt4 key购买 nike

我有 2 个配置文件,可能会也可能不会一起使用来运行一组测试。它们每个都需要不同的 vmargs 才能运行,但如果它们一起使用,可以将它们相互附加。

我正在寻找的是一种将 argLine 设置为其当前值加上我设置的值的串联的方法。

我希望它会像

<argLine>${argLine} -DnewVMArg</argLine>

我能做些什么类似的事情来实现这一点吗?

我尝试修复它导致 maven 陷入递归循环。它记录在下面。

我最近的尝试是定义一个属性 <my.argLines></my.argLines>全局,然后在配置文件中修改它。

在每个配置文件的属性块中,我将覆盖属性设置为:
<my.argLines>${my.argLines} -myUniqueToProfileArgs</my.argLines>

在配置文件的每个万无一失的配置中,我设置了 <argLines>成为:
<argLines>${my.argLines}</argLines>

这在逻辑上适合我,但它的评估方式显然不适合。

最佳答案

定义默认参数 -DnewVMArgargLine像下面这样:

<properties>
<customArg/>
<argLine>${customArg} -DnewVMArg</argLine>
</properties>

定义配置文件参数
<profiles>
<profile>
<id>profile1</id>
<properties>
<customArg>-DmyUniqueToProfile1Args</customArg>
</properties>
</profile>
<profile>
<id>profile2</id>
<properties>
<customArg>-DmyUniqueToProfile2Args</customArg>
</properties>
</profile>
</profiles>

不需要额外的插件配置
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration/>
</plugin>
....

我已经测试了这个配置,我的结果如下。

默认
mvn surefire:test -X 

结果
(...)java -jar -DnewVMArg (...) 

目标与个人资料
mvn surefire:test -X -Pprofile1

结果
(...)java -DmyUniqueToProfile1Args -DnewVMArg -jar (...) 

关于Maven 万无一失 : append to argLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com