【问题标题】:Spring Boot generates the smallest executable jar packageSpring Boot生成最小的可执行jar包
【发布时间】:2017-09-15 10:48:06
【问题描述】:

我的问题很简单,如何生成最小的可执行jar包。

我用的是Spring Boot框架,每次生成可执行的jar包,项目文件和依赖都会放在一起,导致部署的时间上传很久,因为文件太大。

【问题讨论】:

    标签: spring spring-boot


    【解决方案1】:

    您正在使用spring-boot-maven-plugin 创建胖罐。您可以避免使用它,但是您的 jar 将无法执行,这意味着您将无法执行以下操作:

    java -jar myapp.jar
    

    另一个解决方案是提取你的胖 jar(爆炸的 jar)并在第一次部署时上传所有内容。但接下来部署只上传更新的部分。

    unzip -q myapp.jar -d myapp
    

    然后像这样运行您的应用程序:

    java -cp myapp org.springframework.boot.loader.JarLauncher
    

    这是创建 Docker 映像以有效使用 Docker 层系统的方法。

    【讨论】:

    • 好的,我试试看。
    • 非常感谢您实现我的想法的方式。但是我还有一个问题,如果运行保证后端执行呢?通过添加“&”符号?该
    • 我不太明白你的评论。
    • 但是当我执行程序时,它在前台运行。这意味着 SSH 窗口关闭,程序停止。
    • 这是另一个问题,您可以使用 nohup 之类的 nohup java -cp myapp org.springframework.boot.loader.JarLauncher & 或使用屏幕。看看stackoverflow.com/questions/29142/… 不要忘记将您的问题标记为已回答
    猜你喜欢
    • 2018-05-26
    • 2016-12-30
    • 2019-08-23
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 2017-11-21
    • 2017-01-20
    • 2019-06-19
    相关资源
    最近更新 更多