设置 JARs to skip 以加速 Tomcat 7 maven 插件启动

Set JARs to skip in order to speed up Tomcat 7 maven plugin startup

是否有一种简单的方法(例如,直接从 tomcat7-maven-plugin 配置)指定在 Tomcat 启动期间应跳过哪些 JAR 以加快速度起来了吗?

Tomcat7 文档鼓励使用系统属性org.apache.catalina.startup.ContextConfig.jarsToSkip(参见http://wiki.apache.org/tomcat/HowTo/FasterStartUp#JAR_scanning),但是当从 maven 配置设置时,它不起作用。

检查 tomcat7-maven-plugin 的来源后,我找到了实现 jar 跳过的解决方法。 (但是,它可能会停止与 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 系统 属性 的值被覆盖。