At least one JAR was scanned for TLDs yet contained no TLDs

后端 未结 6 1267
情深已故
情深已故 2020-12-08 03:45

I keep getting this on tomcat 7.30 (eclipse juno)

At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger

相关标签:
6条回答
  • 2020-12-08 04:21

    For anyone trying to get this working using the Sysdeo Eclipse Tomcat plugin, try the following steps (I used Sysdeo Tomcat Plugin 3.3.0, Eclipse Kepler, and Tomcat 7.0.53 to construct these steps):

    1. Window --> Preferences --> Expand the Tomcat node in the tree --> JVM Settings
    2. Under "Append to JVM Parameters", click the "Add" button.
    3. In the "New Tomcat JVM parameter" popup, enter -Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties", where {TOMCAT_HOME} is the path to your Tomcat directory (example: C:\Tomcat\apache-tomcat-7.0.53\conf\logging.properties). Click OK.
    4. Under "Append to JVM Parameters", click the "Add" button again.
    5. In the "New Tomcat JVM parameter" popup, enter -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager. Click OK.
    6. Click OK in the Preferences window.
    7. Make the adjustments to the {TOMCAT_HOME}\conf\logging.properties file as specified in the question above.
    8. The next time you start Tomcat in Eclipse, you should see the scanned .jars listed in the Eclipse Console instead of the "Enable debug logging for this logger" message. The information should also be logged in {TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log.
    0 讨论(0)
  • 2020-12-08 04:22

    (tomcat 7.0.32) I had problems to see debug messages althought was enabling TldLocationsCache row in tomcat/conf/logging.properties file. All I could see was a warning but not what libs were scanned. Changed every loglevel tried everything no luck. Then I went rogue debug mode (=remove one by one, clean install etc..) and finally found a reason.

    My webapp had a customized tomcat/webapps/mywebapp/WEB-INF/classes/logging.properties file. I copied TldLocationsCache row to this file, finally I could see jars filenames.

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

    0 讨论(0)
  • 2020-12-08 04:29

    If one wants to have the conf\logging.properties read one must (see also here) dump this file into the Servers\Tomcat v7.0 Server at localhost-config\ folder and then add the lines :

    -Djava.util.logging.config.file="${workspace_loc}\Servers\Tomcat v7.0 Server at localhost-config\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

    to the VM arguments of the launch configuration one is using.

    This may have taken a restart or two (or not) but finally I saw in the console in bright red :

    FINE: No TLD files were found in [file:/C:/Dropbox/eclipse_workspaces/javaEE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ted2012/WEB-INF/lib/logback-classic-1.0.7.jar]. Consider adding the JAR to the tomcat.util.scan.DefaultJarScanner.jarsToSkip or org.apache.catalina.startup.TldConfig.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file. //etc

    I still don't know when exactly this FINE warning appears - does not appear immediately on tomcat launch EDIT: from the comment by @Stephan: "The FINE warning appears each time any change is done in the JSP file".


    Bonus: To make the warning go away add in catalina.properties :

    # Additional JARs (over and above the default JARs listed above) to skip when
    # scanning for TLDs. The list must be a comma separated list of JAR file names.
    org.apache.catalina.startup.TldConfig.jarsToSkip=logback-classic-1.0.7.jar,\
    joda-time-2.1.jar,joda-time-2.1-javadoc.jar,mysql-connector-java-5.1.24-bin.jar,\
    logback-core-1.0.7.jar,javax.servlet.jsp.jstl-api-1.2.1.jar
    
    0 讨论(0)
  • 2020-12-08 04:32

    (tomcat 8.0.28) Above method did not work for me. This is what worked:

    1. Add this line to the end of your {CATALINA-HOME}/conf/logging.properties:

      org.apache.jasper.level = FINEST
      
    2. Shut down the server (if started).

    3. Open console and run (in case of Windows):

      %CATALINA_HOME%\bin\catalina.bat run
      
    4. Enjoy logs, e.g. (again, for Windows):

      {CATALINA-HOME}/logs/catalina.2015-12-28.log
      

    I gave up on integrating this with Eclipse launch configuration so be aware that this works only from console, launching the server from Eclipse won't produce additional log messages.

    0 讨论(0)
  • 2020-12-08 04:33

    For me I was getting the problem when deploying a geoserver WAR into tomcat 7

    To fix it, I was on Java 7 and upgrading to Java 8.

    This is running under a docker container. Tomcat 7.0.75 + Java 8 + Geos 2.10.2

    0 讨论(0)
  • 2020-12-08 04:34

    apache-tomcat-8.0.33

    If you want to enable debug logging in tomcat for TLD scanned jars then you have to change /conf/logging.properties file in tomcat directory.

    uncomment the line :
    org.apache.jasper.servlet.TldScanner.level = FINE

    FINE level is for debug log.

    This should work for normal tomcat.

    If the tomcat is running under eclipse. Then you have to set the path of tomcat logging.properties in eclipse.

    1. Open servers view in eclipse.Stop the server.Double click your tomcat server.
      This will open Overview window for the server.
    2. Click on Open launch configuration.This will open another window.
    3. Go to the Arguments tab(second tab).Go to VM arguments section.
    4. paste this two line there :-
      -Djava.util.logging.config.file="{CATALINA_HOME}\conf\logging.properties"
      -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
      Here CATALINA_HOME is your PC's corresponding tomcat server directory.
    5. Save the Changes.Restart the server.

    Now the jar files that scanned for TLDs should show in the log.

    0 讨论(0)
提交回复
热议问题