Au moins un JAR a été scanné pour les TLD sans contenir de TLD

Je continue à obtenir ça sur Tomcat 7.30 (eclipse juno)

Au moins un JAR a été analysé pour les TLD mais ne contenait aucun TLD. Activez la journalisation du débogage pour ce consignateur pour obtenir une liste complète des JAR analysés, mais aucun TLD n’y a été trouvé. Ignorer les fichiers JAR inutiles lors de l’parsing peut améliorer le temps de démarrage et le temps de compilation JSP.

Eh bien je suis allé à conf\logging.properties et tourné toutes les informations à FINE et décommenter la ligne

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

Et je vois toujours At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging... At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging...

Alors, que dois-je faire pour voir ces pots?

Emplacement des journaux:

Les journaux tomcat se trouvent dans $ CATALINA_HOME \ logs \ catalina.yyyy-mm-dd.log. Eclipse les imprime dans la console – si vous voulez que votre console soit connectée, vous devez

Dans l’onglet Serveurs, double-cliquez sur le serveur Tomcat. Vous aurez un écran appelé Aperçu. Cliquez sur “Ouvrir la configuration de lancement”. Cliquez sur l’onglet “Commun”. En bas de l’écran, vous pouvez cocher la case “Fichier”, puis spécifier un fichier pouvant être utilisé pour enregistrer votre sortie de console (catalina.out). Enfin, redémarrez le serveur Tomcat.

Si vous conf\logging.properties lu, vous devez (voir aussi ici ) vider ce fichier dans le Servers\Tomcat v7.0 Server at localhost-config\ dossier Servers\Tomcat v7.0 Server at localhost-config\ , puis append les lignes:

-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

aux arguments VM de la configuration de lancement utilisée.

Cela peut avoir pris un redémarrage ou deux (ou pas) mais finalement j’ai vu dans la console en rouge vif:

FINE: aucun fichier TLD n’a été trouvé dans [fichier: / C: /Dropbox/eclipse_workspaces/javaEE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ted2012/WEB-INF/lib/logback -classic-1.0.7.jar]. Envisagez d’append le fichier JAR à la propriété tomcat.util.scan.DefaultJarScanner.jarsToSkip ou org.apache.catalina.startup.TldConfig.jarsToSkip dans le fichier CATALINA_BASE / conf / catalina.properties. //etc

Je ne sais toujours pas quand exactement cet avertissement FINE apparaît – n’apparaît pas immédiatement au lancement de Tomcat EDIT : d’après le commentaire de @Stephan: “L’avertissement FINE apparaît chaque fois qu’une modification est effectuée dans le fichier JSP” .


Bonus: Pour que l’avertissement disparaisse, ajoutez 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 

(tomcat 8.0.28) La méthode ci-dessus ne fonctionnait pas pour moi. C’est ce qui a fonctionné:

  1. Ajoutez cette ligne à la fin de votre {CATALINA-HOME} /conf/logging.properties:

     org.apache.jasper.level = FINEST 
  2. Arrêtez le serveur (si démarré).

  3. Ouvrez la console et lancez (dans le cas de Windows):

     %CATALINA_HOME%\bin\catalina.bat run 
  4. Profitez des journaux, par exemple (encore une fois pour Windows):

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

J’ai renoncé à intégrer cela avec la configuration de lancement d’Eclipse, sachez donc que cela ne fonctionne que depuis la console, le lancement du serveur à partir d’Eclipse ne produira pas de messages de journal supplémentaires.

apache-tomcat-8.0.33

Si vous souhaitez activer la journalisation du débogage dans tomcat pour les fichiers JAR analysés, vous devez modifier le fichier /conf/logging.properties dans le répertoire tomcat.

décommentez la ligne:
org.apache.jasper.servlet.TldScanner.level = FINE

Le niveau FINE est pour le journal de débogage.

Cela devrait fonctionner pour tomcat normal.

Si le tomcat est exécuté sous éclipse. Ensuite, vous devez définir le chemin de tomcat logging.properties dans eclipse.

  1. Ouvrez la vue des serveurs dans eclipse. Arrêtez le serveur. Double-cliquez sur votre serveur tomcat.
    Cela ouvrira la fenêtre de présentation pour le serveur.
  2. Cliquez sur Ouvrir la configuration de lancement. Cela ouvrira une autre fenêtre.
  3. Accédez à l’onglet Arguments ( deuxième onglet ). Accédez à la section Arguments de la machine virtuelle .
  4. collez cette ligne deux ici: –
    -Djava.util.logging.config.file = “{CATALINA_HOME} \ conf \ logging.properties”
    -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager
    Ici, CATALINA_HOME correspond au répertoire du serveur Tomcat correspondant à votre PC.
  5. Enregistrez les modifications. Redémarrez le serveur.

À présent, les fichiers jar analysés pour les TLD doivent apparaître dans le journal.

(tomcat 7.0.32) J’ai eu des problèmes pour voir les messages de débogage, même si cela activait la ligne TldLocationsCache dans le fichier tomcat / conf / logging.properties . Tout ce que je pouvais voir était un avertissement mais pas ce que les bibliothèques étaient scannées. Changé tous les niveaux de logle essayé tout pas de chance. Puis je suis allé en mode débogage voyous (= supprimer un par un, installation propre, etc.) et enfin trouvé une raison.

Mon application Web comportait un fichier personnalisé tomcat / webapps / mywebapp / WEB-INF / classes / logging.properties . J’ai copié la ligne TldLocationsCache dans ce fichier, enfin j’ai pu voir les noms de fichiers jars.

# Pour voir les messages de débogage dans TldLocationsCache, décommentez la ligne suivante: org.apache.jasper.comstackr.TldLocationsCache.level = FINE

Pour ceux qui essaient de faire fonctionner ceci avec le plugin Sysdeo Eclipse Tomcat , essayez les étapes suivantes (j’ai utilisé Sysdeo Tomcat Plugin 3.3.0, Eclipse Kepler et Tomcat 7.0.53 pour construire ces étapes):

  1. Fenêtre -> Préférences -> Développez le nœud Tomcat dans l’arborescence -> Paramètres JVM
  2. Sous “Ajouter aux parameters de la JVM”, cliquez sur le bouton “Ajouter”.
  3. Dans la fenêtre contextuelle “Nouveau paramètre JVM Tomcat”, entrez -Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties" , où {TOMCAT_HOME} est le chemin d’access à votre répertoire Tomcat (exemple: C: \ Tomcat \ apache-tomcat-7.0.53 \ conf \ logging.properties). Cliquez sur OK.
  4. Sous “Ajouter aux parameters de la JVM”, cliquez à nouveau sur le bouton “Ajouter”.
  5. Dans la fenêtre contextuelle “Nouveau paramètre JVM Tomcat”, entrez -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager . Cliquez sur OK.
  6. Cliquez sur OK dans la fenêtre Préférences.
  7. Apportez les {TOMCAT_HOME}\conf\logging.properties fichier {TOMCAT_HOME}\conf\logging.properties comme indiqué dans la question ci-dessus .
  8. Au prochain démarrage de Tomcat dans Eclipse, vous devriez voir les .jars analysés répertoriés dans la console Eclipse au lieu du message “Activer la journalisation du débogage pour ce consignateur”. Les informations doivent également être enregistrées dans {TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log .

Pour moi, je rencontrais le problème lors du déploiement d’un geoserver WAR dans Tomcat 7

Pour y remédier, j’étais sur Java 7 et je passais à Java 8.

Cela s’exécute sous un conteneur Docker. Tomcat 7.0.75 + Java 8 + Geos 2.10.2