gpt4 book ai didi

java - 子字符串 pom.xml 中的变量

转载 作者:行者123 更新时间:2023-12-04 19:54:00 34 4
gpt4 key购买 nike

是否可以(以及如何)在 pom.xml 或使用此变量的属性中对变量进行子字符串化?

我的场景:

我有一个 Swing 应用程序,它在其页脚中显示了一种版本。
此版本是从属性文件中读取的。
属性文件只有一个 maven 变量的引用,如:

version=${git.branch}

在我的 pom.xml 中,有一个插件可以查找分支名称,并将其写入“git.branch”变量中。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.2</version>
<configuration>
<dotGitDirectory>${project.basedir}/../.git</dotGitDirectory>
<injectAllReactorProjects>true</injectAllReactorProjects>
</configuration>
<executions>
<execution>
<id>get-the-git-infos</id>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/version.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/version.properties</exclude>
</excludes>
</resource>
</resources>
</build>

但是现在我们为分支名称使用前缀,并且该前缀不应该与应用程序版本一起部署。

我有这样的分支:
v123
v124
v125

现在我有这样的分支:
b_04_v123
b_04_v124

我希望 maven 只获取字符串“b_04_v123”的值“v124”,前缀是固定的,就像“b_NN_”一样。

注意:不,不能更改分支名称,因为其他部门将它们与脚本和自动化一起使用。

最佳答案

您可以使用 org.codehaus.groovy.maven插入:

   <plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
System.setProperty("version2","${version}".replace('b_04_', ''))
</source>
</configuration>
</execution>
</executions>
</plugin>

现在您可以使用 version2 :
version=${version2}

这是一个 exemple在 GitHub

关于java - 子字符串 pom.xml 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50255725/

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