如果liquibase在classpath上,则Spring Boot可执行jar大小为195MB,开销为25秒

时间:2017-11-06 12:30:43

标签: spring-boot liquibase

我的春季启动1.5.8 JAR包装的应用程序大小= 195MB,空配置(没有任何bean)

java -jar启动时间开始:

  

(main)在25.694秒内启动DemoApplication2(JVM运行28.267)

但是,当我使用mvn spring-boot:run启动应用程序时,它会快得多

  

(restartedMain)在2.138秒内启动DemoApplication2(JVM运行3.611)

原因是liqubase类路径扫描。虽然我没有liquibase的Spring配置,但Spring Boot类LiquibaseServiceLocatorApplicationListener会自动启动昂贵的类路径扫描

我找到了一个解决方法:如果我用

启动应用程序
-Dliquibase.scan.packages=liquibase.change,liquibase.changelog,liquibase.database,liquibase.parser,liquibase.precondition,liquibase.datatype,liquibase.serializer,liquibase.sqlgenerator,liquibase.executor,liquibase.snapshot,liquibase.logging,liquibase.diff,liquibase.structure,liquibase.structurecompare,liquibase.lockservice,liquibase.sdk.database,liquibase.ext

我可以跳过初始类路径扫描

示例项目:https://github.com/michaldo/slow-by-liquibase

0 个答案:

没有答案