gpt4 book ai didi

java - Maven发布不调用资源:resources plugin

转载 作者:行者123 更新时间:2023-11-30 05:57:59 25 4
gpt4 key购买 nike

我正在尝试通过在 TeamCity 上执行 Maven 发布插件来部署 Maven 项目并升级版本。我能够成功地做到这一点 - 但是,资源:资源插件不再执行。或者更准确地说,它被执行但没有进行预期的更改。然而,当我运行 Maven 包或安装时,它可以工作。不知道我错过了什么。任何帮助将不胜感激。

下面是我的代码父pom

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<releaseProfiles>releases</releaseProfiles>
<localCheckout>true</localCheckout>
<arguments>-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true -DCONTINUOUS_BUILD_ID=%build.counter% -DGIT_COMMIT=%build.vcs.number% -DGIT_BRANCH=%vcsroot.branch%</arguments>
</configuration>
<executions>
<execution>
<id>prepare</id>
<goals>
<goal>prepare</goal>
</goals>
<configuration>
<pushChanges>false</pushChanges>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>

子pom

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<!-- Adds ${buildNumber} to buildNumber.properties -->
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>application_local.properties</exclude>
</excludes>
</resource>
</resources>
</build>

我运行以下命令:

mvn -B -e initialize release:branch release:clean release:prepare release:stage -DCONTINUOUS_BUILD_ID=%build.counter% -DGIT_COMMIT=%build.vcs.number% -DGIT_BRANCH=%vcsroot.branch%...

我的子项目中的 src/main/resources 文件夹中有一个名为 application-deployed.properties 的文件,其中包含以下几行,这是我想要更改的内容。

# build information by team city
child.propject.buildNumber=@CONTINUOUS_BUILD_ID@
child.propject.buildVersion=@GIT_COMMIT@
child.propject.buildBranch=@GIT_BRANCH@

非常感谢任何帮助

最佳答案

maven-resources-plugin 无权访问您在命令行中传递的参数。原因是 deploy 目标(其中包括 resources:resources 等)由单独 Maven 中的 maven-release-plugin 调用执行。

为了克服此限制,maven-release-plugin 的目标接受 arguments参数,可用于将参数传递给上述单独的 Maven 执行。尝试按以下方式修改您的命令行:

mvn -B -e 初始化版本:分支版本:清理版本:准备版本:阶段 -Darguments="-DCONTINUOUS_BUILD_ID=%build.counter% -DGIT_COMMIT=%build.vcs.number% -DGIT_BRANCH=% vcsroot.branch%"

关于java - Maven发布不调用资源:resources plugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52824934/

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