是否有一种简单的方法(例如,直接来自 tomcat7-maven-plugin 配置)来指定在Tomcat启动期间应该跳过哪些JAR以加快速度?
Tomcat 7文档鼓励使用系统属性org.apache.catalina.startup.ContextConfig.jarsToSkip
(请参阅http://wiki.apache.org/tomcat/HowTo/FasterStartUp#JAR_scanning),但是从maven配置设置时,它不起作用。
答案 0 :(得分:4)
在检查 tomcat7-maven-plugin 的来源后,我找到了一种解决方法来实现jars跳过。 (但它可能会停止使用Maven Tomcat 7插件的未来版本。)
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<path>/${project.artifactId}</path>
<port>8080</port>
<systemProperties>
<org.apache.catalina.startup.ContextConfig.jarsToSkip>*</org.apache.catalina.startup.ContextConfig.jarsToSkip>
<!-- work around .. see: https://issues.apache.org/jira/browse/MTOMCAT-281 -->
<catalina.config>${project.baseUri}/target/tomcat/logs</catalina.config>
</systemProperties>
</configuration>
</plugin>
如相关错误(https://issues.apache.org/jira/browse/MTOMCAT-281)中所述,问题在于Tomcat使用tomcat-embed-core-7.0.47.jar!/org/apache/catalina/startup/catalina.properties
中的属性盲目地覆盖所有系统属性。因此,将覆盖插件配置中指定的org.apache.catalina.startup.ContextConfig.jarsToSkip
系统属性的值。