【问题标题】:Where do I configure jarsToSkip option when using tomcat7-maven-plugin使用 tomcat7-maven-plugin 时在哪里配置 jarsToSkip 选项
【发布时间】:2013-06-29 23:59:25
【问题描述】:

我正在使用带有 tomcat7-maven 插件的 maven,并且它工作得很好。最近我注意到一条消息说

At least one JAR was scanned for TLDs yet contained no TLDs. 
Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them.

所以我做了一些研究并意识到我需要为不包含 TLD 的 jars 设置 jarsToSkip 属性。我一直在研究如何找到导致问题的罐子,但运气不佳,tomcat7-maven-plugin 没有通过我的 loggersettings 输出罐子名称所需的设置。

当我找到 jars 时,我也不知道在哪里设置 jarsToSkip 属性。

任何帮助将不胜感激。

【问题讨论】:

    标签: java maven tomcat jar


    【解决方案1】:

    相信属性 jarsToSkip 是一个“catalina.properties”条目。您的 Tomcat conf 文件夹在哪里查看文件“catalina.properties”,您应该在第 90 行左右看到这样的属性:

    tomcat.util.scan.DefaultJarScanner.jarsToSkip=\
    

    您应该能够将罐子添加到该列表中以防止它们被扫描。

    至于找出导致问题的罐子,这将更难以确定。可能需要在那里进行一些试错工作。

    【讨论】:

    • 我已经理解了那个 mutch,但是我找不到 tomcat7-maven-plugin 的 catalina.properties 的位置。
    • $CATALINA_HOME/conf/catalina.properties 如果你在 Linux 上应该可以工作。不确定窗户。您为此使用 Eclipse 吗?如果是这样,您应该能够在服务器文件夹中找到配置文件。
    • 另外,如果上述方法不起作用,您可以尝试按照文档中的说明指定您自己的目录:docs
    • 我正在使用 eclipse,我在 windows 和 linux 上运行,目前我在我的 windows 机器上。
    • 你应该可以在Tomcat安装文件夹的conf目录下找到catalina.properties文件。检查您的 Eclipse 服务器首选项,您的 Tomcat 安装所在的位置。
    【解决方案2】:

    在使用 Tomcat 7 Maven 插件时,您本来可以放入 catalina.properties 中的任何内容都可以放入您的插件配置中。即

    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.0</version>
      <configuration>
        <useTestClasspath>true</useTestClasspath>
        <path>/</path>
        <systemProperties>
          <tomcat.util.scan.DefaultJarScanner.jarsToSkip>
            myjar.jar
          </tomcat.util.scan.DefaultJarScanner.jarsToSkip>
        </systemProperties>
      </configuration>
    </plugin>
    

    【讨论】:

      【解决方案3】:

      在 2.2(即 2.0)之前的 maven tomcat 插件似乎存在一个错误,其中 &lt;systemProperties&gt; 似乎没有被传播。同样在2.2 中添加了一个名为&lt;jarScanAllDirectories&gt; 的配置选项,这似乎进一步提高了性能(我认为它忽略了WEB-INF/类)。

      忽略端口和路径我发现以下配置可以大大提高 Maven Tomcat 性能。

              <plugin>
                  <groupId>org.apache.tomcat.maven</groupId>
                  <artifactId>tomcat7-maven-plugin</artifactId>
                  <version>2.2</version>
                  <configuration>
                      <port>9090</port>
                      <path>/</path>
                      <jarScanAllDirectories>false</jarScanAllDirectories>
                      <systemProperties>
                          <org.apache.catalina.startup.ContextConfig.jarsToSkip>*.jar</org.apache.catalina.startup.ContextConfig.jarsToSkip>
                          <tomcat.util.scan.DefaultJarScanner.jarsToSkip>*.jar</tomcat.util.scan.DefaultJarScanner.jarsToSkip>
                      </systemProperties>
                  </configuration>
              </plugin>
      

      【讨论】:

        【解决方案4】:

        有这个开放的bug@https://github.com/psi-probe/psi-probe/issues/348

        只是指出来。

        【讨论】:

          猜你喜欢
          • 2014-08-07
          • 2015-02-10
          • 2014-01-11
          • 2014-07-09
          • 1970-01-01
          • 2013-07-19
          • 2012-12-01
          • 2018-10-12
          相关资源
          最近更新 更多