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

2017-12-05 22:29:11 +08:00
 86322989

服务器上 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

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

3076 次点击
所在节点    问与答
6 条回复
undeflife
2017-12-05 22:43:56 +08:00
很久没写 java 了,也没用过 spring boot,不过,执行 maven 的 task,最终不是还是会用 java -jar 去执行吗?
qinxi
2017-12-06 00:17:40 +08:00
内嵌 tomcat 的话有可能需要这个参数 -Djava.security.egd=file:/dev/./urandom


https://wiki.apache.org/tomcat/HowTo/FasterStartUp
86322989
2017-12-06 00:33:06 +08:00
@qinxi OK 明天研究下
86322989
2017-12-07 22:03:22 +08:00
@qinxi 试过了,不行
xjt520
2017-12-14 17:05:38 +08:00
楼主解决了吗,我也遇到一样的问题,百思不得其解
86322989
2017-12-14 18:09:17 +08:00
@xjt520 还没有
我觉得是因为模块开发,会一层层加入引入的依赖包 重复的很多。

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


谁解决了告诉下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412303

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX