提问者:小点点

我可以用“Spring Boot Maven Plugin”制作一个带有“build info”的可执行jar吗?


我正在尝试使用“Spring Boot Maven Plugin”制作一个可执行的jar文件。

通常,我可以通过设置“重新打包”来执行此操作。目标在我的pom.xml文件是这样设置的。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</version>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我的构建命令如下:

mvn clean package spring-boot:repackage

这是可行的,但是我想在jar文件中包含META-INF/build-info.properties。

通过拥有这个文件,我可以在我的springboot应用程序中检查构建信息,所以我想拥有它。

为了生成“META-INF/build-info.properties”文件,我需要设置“build-info”目标。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</version>
    <executions>
        <execution>
            <goals>
                <goal>build-info</goal>
            </goals>
        </execution>
    </executions>
</plugin>

现在我进退两难,因为

  1. 设置“重新包装”目标-

我想有一个带有“META-INF/build-info.properties”的可执行罐子。

我对这个maven过程相当陌生。有人能帮我吗?

我解决了这个问题。问题是Spring启动专家插件在错误的位置。就在里面

正如@Mark Bramnik所回答的,我可以在pom中设置两个目标设置。xml和mvn cleanpackage命令就足够了!


共1个答案

匿名用户

你可以运行同一个插件的多个目标。所以你可以这样做:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</version>
    <executions>
        <execution>
            <goals>
                <goal>build-info</goal>
            </goals>
        </execution>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>