gpt4 book ai didi

java - 我可以通过 "build-info"制作一个带有 "Spring Boot Maven Plugin"的可执行 jar 吗?

转载 作者:行者123 更新时间:2023-12-01 17:00:12 32 4
gpt4 key购买 nike

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

通常,我可以通过设置 "repackage". 来做到这一点我的 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. 设置“重新打包”目标 -> 一个可执行 jar 没有“META-INF/build-info.properties”
  2. 设置“build-info”目标 -> 一个不可执行 jar 带有“META-INF/build-info.properties”

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

我对这个 Maven 流程还很陌生。有谁可以帮助我吗?

<小时/>

已解决

我解决了这个问题。问题是spring-boot-maven-plugin是在错误的地方。它在里面<pluginManagement> 。我将此插件移至 <plugins>

就像 @Mark Bramnik 回答的那样,我可以在 pom.xml 中设置两个目标设置,以及 mvn clean package命令就够了!

最佳答案

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

<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>

关于java - 我可以通过 "build-info"制作一个带有 "Spring Boot Maven Plugin"的可执行 jar 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61520838/

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