86322989
V2EX  ›  问与答

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

  •  
  •   86322989 · Dec 5, 2017 · 3790 views
    This topic created in 3117 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
        1
    undeflife  
       Dec 5, 2017
    很久没写 java 了,也没用过 spring boot,不过,执行 maven 的 task,最终不是还是会用 java -jar 去执行吗?
    qinxi
        2
    qinxi  
       Dec 6, 2017 via Android
    内嵌 tomcat 的话有可能需要这个参数 -Djava.security.egd=file:/dev/./urandom


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

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


    谁解决了告诉下。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2608 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 07:12 · PVG 15:12 · LAX 00:12 · JFK 03:12
    ♥ Do have faith in what you're doing.