gpt4 book ai didi

java - Maven 原型(prototype)集成测试中的重写属性

转载 作者:行者123 更新时间:2023-12-02 03:32:31 25 4
gpt4 key购买 nike

我正在从原型(prototype)生成一个项目,并且我在这个生成的项目的 pom 中有一个属性(archetype-resources/pom):

  <properties>
<myProperty>productionValue</myProperty>
</properties>

以及以下万无一失的配置:

      <plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>
-Djava.library.path=${myProperty}
</argLine>
</configuration>
</plugin>

我要myProperty当我运行 IT 时,我的原型(prototype) pom 中的值会被覆盖,并且当用户生成此项目时保持不变。我该怎么做?

我尝试将其设置为 archetype.properties文件,但它里面有一个变量: myProperty=${project.basedir}/IT/path 。我要${project.basedir}在 IT 的情况下,成为原型(prototype)项目的基础目录,而不是生成项目的基础目录,但当我这样做时,情况并非如此。

我尝试的另一种方法是使用插件配置:

        <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>${maven-archetype.version}</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<properties>
<myProperty>${project.basedir}/IT/path</myProperty>
</properties>
</configuration>
</execution>
</executions>
</plugin>

但是效果不太好,myProperty生成项目的pom中没有改变。我做错了什么?非常感谢您的帮助!

最佳答案

问题是我已经放了

<configuration>
<properties>
<myProperty>${project.basedir}/IT/path</myProperty>
</properties>
</configuration>

<execution>下标记而不是 <plugin> 。在我这样做之后,它按预期工作了。

关于java - Maven 原型(prototype)集成测试中的重写属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876828/

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