重新打包Spring Boot应用程序

时间:2018-05-23 14:04:53

标签: java spring-boot jar

美好的一天!

我在http服务器上有一个简单的应用程序,就像在本指南中一样:

https://spring.io/guides/gs/serving-web-content/

当我构建并运行时 - 它运行良好。

java -jar target/gs-serving-web-content-0.1.0.jar

现在我要重新打包这个jar文件。我这样做:

jar xvf gs-serving-web-content-0.1.0.jar
rm  gs-serving-web-content-0.1.0.jar
jar cf gs-serving-web-content-0.1.0.jar *

但是当我尝试用

运行它时
java -jar target/gs-serving-web-content-0.1.0.jar

我收到错误:

no main manifest attribute, in test.jar

我尝试用很多方法修复它,但找不到如何做到的方法。 有诀窍吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

  • 您需要重用清单文件。如果重用清单文件,您还将获得正确的入口点(Main-Class / Start-Class)。选项m和参数META-INF/MANIFEST.MF。如果您未指定m选项,则会获得一个新的清单文件,该文件将覆盖您现有的清单文件。
  • 您不需要压缩已使用的库。选项1}}。因此,你的最终jar可能比Spring Boot默认的大。

0

jar cfm0 fne-manager-0.0.1-SNAPSHOT.jar META-INF/MANIFEST.MF *

我不确定你为什么要“重新包装”它。

另请查看https://docs.spring.io/spring-boot/docs/current/maven-plugin/repackage-mojo.html