当前位置: 首页 > 知识库问答 >
问题:

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

傅越
2023-03-14

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

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

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.6.RELEASE</vershtml" target="_blank">ion>
    <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个答案

严曜文
2023-03-14

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

<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>
 类似资料:
  • 问题内容: 我正在尝试从命令行构建一个可执行jar(我不想使用ant或OneJar)。这是我的file.jar的内容: META-INF / MANIFEST.MF的内容: ped.jar确实包含Main-Class 但是当我尝试执行file.jar时,出现错误: 所以,我在这里错过了一些东西。我不能仅通过包含依赖项来打包可执行jar吗? 谢谢你的帮助 皮埃尔 问题答案: 如前所述,属性中的jar

  • 所以我已经尝试了这些: < li >在pom.xml中添加插件 < li >删除. m2文件夹以在作为Maven版本运行时清理包... < li >运行mvn clean(在eclipse IDE中的项目文件夹上) < li >关闭并再次运行eclipse。 事情是这样的:当我在eclipse上将主类作为Java应用程序运行时,eclipse控制台显示应用程序以spring logo启动。但是当我

  • 我已经浏览了Stackoverflow一整天,寻找如何做到这一点,但我还没有成功 我正在将我制作的一个快速游戏打包成一个可执行的jar,但我没有正确地引用图像,我只是引用了文件 我的类在src default package中,我不确定应该在哪里添加映像,或者是否必须将映像添加到构建路径中,或者在最新版本的eclipse中将映像添加到构建路径中的正确方法

  • 我有一个mvn项目,它包含对apache Commons-Lang3的依赖。我设法为这个jar文件生成了一个manifest.mf,它通过我的远程服务器上的java-jar.jar启动。然而,它不包括任何依赖项,我不知道为什么。 您可以看到,它正确地将依赖关系解析为commons-lang并将其放入清单中。但实际文件不见了。 有人知道为什么吗?

  • 问题内容: 我花了一些时间在AngularJS Bootstrap弹出窗口上玩耍,并且意图很不错,但是我想做的就是将它绑定,并且它的依赖脚本绑定到同一控制器,我无法正常工作现在是关闭按钮。如果我创建一个NEW控制器,并注入$ modalInstance,它可以很好地工作,并且我可以连接关闭按钮而没有任何问题,但是我不想要第二个控制器,这似乎过于复杂:我想要所有的控制器逻辑在formControll

  • 我在试着做一个可执行的JAR。我的IDE是Netbeans 7.3.1,使用Gradle插件用于Netabeans,使用JavaFX插件用于Gradle。 简单的JavaFX应用程序: 分级文件: Build.Gradle: 当我使用时,它可以在IDE中完美地运行;但没有IDE我无法启动它。