86322989
V2EX  ›  问与答

spring boot 的应用部署时,为什么 Java -jar xxx.jar 的效果差了很多?

  •  
  •   86322989 · Dec 5, 2017 · 4019 views
    This topic created in 3262 days ago, the information mentioned may be changed or developed.

    服务器上 spring boot 的应用启动方式大体有两种: 1 直接源码上运行 mvn spring:boot run 2 java -jar xxx.jar

    现在是,第一种方式运行飞快 但是需要下载源码,第二种很慢,cpu 瞬间到 100%以上,而且占用的内存也多了 1/4 的样子.

    ps: 第二种加上 jvm 的参数之后,试了几组,都没什么效果变化.

    Stack Overflow 上有两个问答,回答的不错,但是也没能解决我的问题:

    https://stackoverflow.com/questions/47258695/mvn-spring-bootrun-vs-java-jar
    https://stackoverflow.com/questions/40148829/whats-the-difference-of-mvn-spring-bootrun-and-application-main?noredirect=1&lq=1
    

    问下,有大神可以指教下解决思路吗? 我是想用第二种方式.

    6 replies  •  2017-12-14 18:09:17 +08:00
    undeflife
    undeflife
    Dec 5, 2017
    1
    很久没写 java 了,也没用过 spring boot,不过,执行 maven 的 task,最终不是还是会用 java -jar 去执行吗?
    qinxi
    qinxi
    Dec 6, 2017 via Android
    2
    内嵌 tomcat 的话有可能需要这个参数 -Djava.security.egd=file:/dev/./urandom


    https://wiki.apache.org/tomcat/HowTo/FasterStartUp
    86322989
    86322989
    OP
    Dec 6, 2017 via iPhone
    3
    @qinxi OK 明天研究下
    86322989
    86322989
    OP
    Dec 7, 2017
    4
    @qinxi 试过了,不行
    xjt520
    xjt520
    Dec 14, 2017
    5
    楼主解决了吗,我也遇到一样的问题,百思不得其解
    86322989
    86322989
    OP
    Dec 14, 2017 via iPhone
    6
    @xjt520 还没有
    我觉得是因为模块开发,会一层层加入引入的依赖包 重复的很多。

    直接 mvn spring:boot run 是访问资料库的 jar 不会重复


    谁解决了告诉下。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   993 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:26 · PVG 06:26 · LAX 14:26 · JFK 17:26
    ♥ Do have faith in what you're doing.