以前,我使用以下命令获取 pom.xml 中的版本并将其从 1 递增。在增量快照版本之前,0.0.1
#!/bin/bash
version=$(grep -ri "<version>" pom.xml |head -n 1 | sed -e 's/^[ \t]*
<version>\([^<]*\)<.*$/\1/' | sed 's/[-SNAPSHOT]//g')
var1=$(echo $version | cut -c1)
var2=$(echo $version | cut -c2)
var3=$(echo $version | cut -c3)
var4=$(echo $version | cut -c4)
var5=$(echo $version | cut -c5)
var5=$((var5+1))
incrementVer=$var1$var2$var3$var4$var5
echo $incrementVer
output is 0.0.2
但我想将此输出推送到 pom 文件并更新为,<version>0.0.2</version>
我可以使用 sed 命令来更新 pom 文件吗?
我的 pom 文件看起来像这样,
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mss.inven</groupId>
<artifactId>INVEN</artifactId>
<version>0.0.1-SNAPSHOT</version>
通过以下方式将版本设置为特定值的简单解决方案版本-maven-插件
mvn versions:set -DnewVersion=0.0.1
如果你想增加它。这可以通过使用来实现构建助手 maven 插件像下面这样:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.nextMajorVersion}.0.0 \
versions:commit
或者如果您想增加次要版本:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0 \
versions:commit
或者如果您想增加补丁版本:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion} \
versions:commit
您需要注意 Windows/Linux 上需要的引用。
或者你可以使用maven-发布-插件只需调用以下命令即可将当前版本增加到下一个版本:
mvn -B release:update-versions
或者你通过通常的发布过程使用maven-release-pluginmvn release:prepare release:perform
默认情况下也会增加版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)