【发布时间】:2018-04-20 23:48:12
【问题描述】:
我注意到我的 Spring Boot 应用程序在使用 Maven 和 jar 启动时的启动时间存在很大差异。例如:
-
mvn spring-boot:run- 5 秒 -
java -jar myapp.jar- 25 秒
启动 jar 文件需要大约 5 倍的时间。为什么会这样?使用 Maven 和 jar 启动应用程序时,后台发生了什么?加载的东西不同吗?是否可以在 Maven 使用的时间内启动 jar 文件?
【问题讨论】:
-
你是如何测量时间的?
-
我在
SpringApplication.run(MySpringBootApplication.class, args);之前和之后添加了new Date()之后我记录了差异。 -
在使用
<fork>true</fork>for maven 和java -jar myapp.jar时,您能否测量每个进程存在的时间? -
这个配置好像对启动时间影响不大。 Maven 使用
<fork>true</fork>和<fork>false</fork>所花费的时间几乎相同。<fork>true</fork>甚至快了 0.2 秒。这有任何意义吗?而java -jar myapp.jar仍然需要大约 4-5 倍的时间。
标签: java spring maven spring-mvc spring-boot