首页 > 解决方案 > Spring Boot 和 Maven 内部版本号插件

问题描述

我正在使用 Spring boot 2.0.5,并添加了代码以使用 maven 内部版本号插件生成内部版本号。内部版本号生成正常。我可以在 jar 和 builNumber.properties 文件中看到,但它没有被 version.txt 文件中的 finalName 替换。

额外细节:

这是我的POM。

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.4</version>
            <executions>
                <execution>
                    <id>buildNumber</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>create</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <format>{0,number}</format>
                <items>
                    <item>buildNumber</item>
                </items>
                <doCheck>false</doCheck>
                <doUpdate>false</doUpdate>
                <revisionOnScmFailure>unknownbuild</revisionOnScmFailure>
            </configuration>
        </plugin>
    </plugins>
    <resources>
  <resource>
    <directory>src/main/resources</directory>
     <filtering>true</filtering>
  </resource>
</resources>
    <finalName>${project.artifactId}-${project.version}.${buildNumber}</finalName>
</build>

我在资源文件夹中创建了 version.txt 文件,它有以下文本。

@project.build.finalName@

在 maven clean install 上,此文件在目标文件夹中更新。在下面的日志第 2 行中,您可以看到内部版本号已添加到 jar 文件名中。

[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ try ---
[INFO] Building jar: /home/ubuntu/Spring/SpringBootData-REST/target/try-0.0.1-SNAPSHOT.10.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.0.5.RELEASE:repackage (default) @ try ---
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ try ---
[INFO] Installing /home/ubuntu/Spring/SpringBootData-REST/target/try-0.0.1-SNAPSHOT.10.jar to /home/ubuntu/.m2/repository/com/try/0.0.1-SNAPSHOT/try-0.0.1-SNAPSHOT.jar
[INFO] Installing /home/ubuntu/Spring/SpringBootData-REST/pom.xml to /home/ubuntu/.m2/repository/com/try/0.0.1-SNAPSHOT/try-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

但是 buildNumber 在 version.txt 中没有被替换。这是 maven 全新安装后的样子。

try-0.0.1-SNAPSHOT.${buildNumber}

这是带有 buildNumber 的 buildNumber.properties 文件。

#maven.buildNumber.plugin properties file
#Sat Mar 09 11:51:51 CST 2019
buildNumber=10

你能指出什么是错的吗?

标签: mavenspring-boot

解决方案


所以我找到了一个解决方法。将我的 Version.txt 更改为下面而不是 @project.build.finalName@ 并且它现在工作正常。

@project.artifactId@
@project.version@
@buildNumber@

输出

SpringBootDataRest
1.0
15

推荐阅读