13

Arch Linux ARM で Tomcat 8 を起動すると、次の警告が表示されます。

情報: 少なくとも 1 つの JAR で TLD がスキャンされましたが、TLD は含まれていませんでした。このロガーのデバッグ ロギングを有効にして、スキャンされたが TLD が見つからなかった JAR の完全なリストを取得します。スキャン中に不要な JAR をスキップすると、起動時間と JSP コンパイル時間が改善されます。

ここで説明されているように ${catalina.home}/logging.properties を既に変更しました: JSP コンパイラの警告を修正する方法: 1 つの JAR が TLD に対してスキャンされましたが、TLD が含まれていませんでしたか?

いくつかのロギング レベルを INFO から FINE に変更し、「org.apache.jasper.compiler.TldLocationsCache.level = FINE」のコメントを外し、「org.apache.jasper.servlet.TldScanner.level = FINE」を追加しました。したがって、ファイルの末尾は次のようになります。

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-マネージャー].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

# たとえば、org.apache.catalina.util.LifecycleBase ロガーを設定して # LifecycleBase を拡張する各コンポーネントが状態を変更することをログに記録します: #org.apache.catalina.util.LifecycleBase.level = FINE

# TldLocationsCache でデバッグ メッセージを表示するには、次の行のコメントを外します: org.apache.jasper.compiler.TldLocationsCache.level = FINE

しかし、起動時にまだ警告が表示され、不要な JAR のパスは表示されません。どうしたの?

4

4 に答える 4

8

次の方法ですべてのデバッグを試してください。

  1. logging.propertiesにあるファイルの最後にこれを追加します{CATALINA-HOME}/conf

    #To see the most detailed level of logging for all classes, uncomment the following line:
    org.apache.catalina.level=FINEST
    
  2. Tomcat を再起動する

  3. ターミナルから次を実行して、スキップする必要がある jar のリストを取得します (この投稿の @joseph-lust の厚意による)。

    egrep "No TLD files were found in \[file:[^\]+\]" {CATALINA-HOME}/logs/catalina.out -o | egrep "[^]/]+.jar" -o | sort | uniq | sed -e 's/.jar/.jar,\\/g' > ~/skips.txt
    
  4. skips.txtユーザーのホーム ディレクトリで開く

  5. {CATALINA-HOME}/conf/catalina.propertiesこのリストを次の行の後に追加します。

    org.apache.catalina.startup.TldConfig.jarsToSkip=
    
  6. ログファイルが大きくなりすぎないように、完了したら必ずこれを削除/コメントアウトしてください

ほとんどの場合、行のコメントを外すとうまくいくように見えるので、なぜこれが起こるのかはまだわかりませんTldLocationsCache

于 2015-09-08T10:55:25.517 に答える
5

上記の投稿のステップ 1 で、すべてのデバッグを有効にする代わりに、org.apache.jasper に制限するより簡単な方法:

これを使って:

org.apache.jasper.level = FINEST

これの代わりに:

org.apache.catalina.level=FINEST
于 2017-03-31T21:43:04.740 に答える