我可以通过 "Spring Boot Maven Plugin" 使用 "build-info" 制作可执行 jar 吗?
Can I make an executable jar with "build-info" by "Spring Boot Maven Plugin"?
我正在尝试用 "Spring Boot Maven Plugin".
制作一个可执行的 jar 文件
通常,我可以通过在我的 pom.xml 文件中设置 "repackage". 目标来做到这一点。
<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>
现在我进退两难了,因为
- 设置"repackage"目标 -> 可执行文件 jar 没有 "META-INF/build-info.properties"
- 设置 "build-info" 目标 -> 一个 不可执行的 jar with "META-INF/build-info.properties"
我想要一个可执行文件 jar with "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>
我正在尝试用 "Spring Boot Maven Plugin".
制作一个可执行的 jar 文件通常,我可以通过在我的 pom.xml 文件中设置 "repackage". 目标来做到这一点。
<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>
现在我进退两难了,因为
- 设置"repackage"目标 -> 可执行文件 jar 没有 "META-INF/build-info.properties"
- 设置 "build-info" 目标 -> 一个 不可执行的 jar with "META-INF/build-info.properties"
我想要一个可执行文件 jar with "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>