60

アプリケーションを起動するか、ant を介して JSP をコンパイルすると、Tomcat 7 Jasper は、余分なまたは間違った場所にある JAR ファイルについて不平を言います。以下のメッセージを受け取りました

**compile-jsp:**
   [jasper] Jul 31, 2012 7:15:15 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
   [jasper] INFO: 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. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 

スキャン中に不要な JAR をスキップすると、Tomcat での起動時間と JSP コンパイル時間が改善されますか?

より良い出力を可能にする方法は?

4

10 に答える 10

51

トムキャット 8.5 . /conf ディレクトリ セットにある catalina.properties 内:

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\*.jar

または、Tomcat の /conf ディレクトリにある context.xml に移動し、以下を追加します。

<JarScanner scanClassPath="false"/>
于 2016-09-06T21:55:43.363 に答える
44

Tomcat 8の場合、 tomcat/conf/logging.propertiesTomcat によってスキャンされた jar がログに表示されるように、次の行を追加する必要がありました。

org.apache.jasper.servlet.TldScanner.level = FINE
于 2014-02-27T15:29:19.503 に答える
15

上記の解決策は私にはうまくいきませんでした。代わりに、logging.properties ファイルの最後の行からハッシュ (#) を削除して、機能させました。

# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE

次のステップは、Tomcat 7 が catalina.properties ファイルで探している jar を次の行の直後に追加することです。

org.apache.catalina.startup.TldConfig.jarsToSkip=
于 2013-09-24T17:29:18.503 に答える
11

誰でも役立つ場合は、以下の出力ファイルの内容を既存のorg.apache.catalina.startup.TldConfig.jarsToSkip=エントリに追加しました。

/var/log/tomcat7/catalina.outTomcat ログの場所であることに注意してください。

egrep "No TLD files were found in \[file:[^\]+\]" /var/log/tomcat7/catalina.out -o | egrep "[^]/]+.jar" -o | sort | uniq | sed -e 's/.jar/.jar,\\/g' > skips.txt

それが役立つことを願っています。

于 2014-05-10T23:42:07.497 に答える
4

Tomcat 8 では、Tomcat によってスキャンされた jar を防ぐために、catalina.properties に次の行を追加する必要がありました。

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=jsp-api.jar,servlet-api.jar
于 2016-01-26T11:03:37.080 に答える
4

この行のコメントを外します (で/conf/logging.properties)

org.apache.jasper.compiler.TldLocationsCache.level = FINE

tomcat 7.0.53でうまくいきました!

于 2014-04-29T13:23:33.277 に答える
3

上記のどれも私にとってはうまくいきませんでした (tomcat 7.0.62)... Sensei_Shoh がメッセージの上のクラスを見て、これを logging.properties に追加するように注意してください。私のログは次のとおりです。

Jan 18, 2016 8:44:21 PM org.apache.catalina.startup.TldConfig execute
INFO: 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. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

だから私は追加しました

org.apache.catalina.startup.TldConfig.level = FINE

conf/logging.properties 内

その後、非常に多くの「問題のある」ファイルを取得したので、わざわざそれらをスキップしませんでした (また、通常のログに戻しました...)

于 2016-01-20T10:14:30.300 に答える
1

エラーメッセージには、使用しているロガーが示されているため、そのロガーを設定し.levelます。

[jasper] Jul 31, 2012 7:15:15 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar

したがって、ロガーはorg.apache.jasper.compiler.TldLocationsCache. logging.propertiesファイルに次の行を追加します。

org.apache.jasper.compiler.TldLocationsCache.level = FINE
于 2016-01-06T21:49:39.437 に答える