Spring Boot应用程序启动时间较慢

JFl*_*int 5 spring-boot

我正在尝试将Web应用程序从JBoss迁移到Spring Boot,但是由于启动速度非常慢,因此存在一些无法解释的问题.即使是Spring Boot指南中的简单应用程序 - "处理表单提交"(使用Java 1.8打包为胖JAR)也会在3秒内在某些计算机上启动,但在30秒内在其他计算机上启动.对于更大的Web应用程序(使用JSF,Hibernate等打包的WAR),情况会变得更糟 - 启动时间为13秒vs 1500秒(115倍以上!).类似的应用程序在JBoss或Liberty app服务器下启动,无处不在.不确定这是安全设置,网络,防火墙还是防病毒工具.

查看日志文件,似乎应用程序花费大量时间来扫描JAR以获取TLD文件和"反射"扫描.奇怪,但这不是JBoss或Liberty中运行的应用程序的问题 - 不确定是否在那里发生相同的扫描.

据我所知,这是根据Servlet规范完成的,但有没有办法跳过扫描一些JAR?在Spring Boot应用程序中添加catalina.properties文件的位置,打包为WAR,如消息所示?

以下是日志消息的示例:

org.apache.jasper.servlet.TldScanner : No TLD files were found in [jar:file:/C:/Development/workspace-Cloud/PrimeFacesDemoSBwar/target/primefacesdemoSB.war!/WEB-INF/lib/primefaces-5.3.jar]. Consider adding the JAR to the tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.
Run Code Online (Sandbox Code Playgroud)

...

org.reflections.Reflections : Reflections took 79406 ms to scan 7 urls, producing 972 keys and 4573 values 
Run Code Online (Sandbox Code Playgroud)