web-dev-qa-db-fra.com

Au moins un JAR a été scanné pour les TLD mais ne contenait aucun TLD

Je continue à avoir ceci sur Tomcat 7.30 (Eclipse Juno)

Au moins un JAR a été scanné pour les TLD mais ne contenait aucun TLD. Activer journalisation de débogage de ce consignateur pour une liste complète des fichiers JAR qui étaient scannés mais aucun TLD n’y a été trouvé. Ignorer les fichiers JAR inutiles pendant le balayage peut améliorer le temps de démarrage et le temps de compilation JSP.

Eh bien je suis allé à conf\logging.properties et tourné tous les INFO à FINE et décommenté la ligne

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

Et je vois toujours 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 sont dans $ CATALINA_HOME\logs\catalina.yyyy-mm-dd.log. Eclipse les imprime dans la console - si vous souhaitez que votre console soit enregistrée vous devez

Dans l'onglet Serveurs, double-cliquez sur le serveur Tomcat. Vous obtiendrez un écran appelé Vue d'ensemble. Cliquez sur "Ouvrir la configuration de lancement". Cliquer sur l'onglet "Common". Vers le bas de l'écran, vous pouvez vérifier le "Fichier" case à cocher, puis spécifiez un fichier pouvant être utilisé pour enregistrer votre fichier sortie console (catalina.out). Enfin, redémarrez le serveur Tomcat.

48
Mr_and_Mrs_D

Si vous voulez que le conf\logging.properties lise il faut _ (voir aussi ici ) dumpez ce fichier dans le dossier Servers\Tomcat v7.0 Server at localhost-config\ puis ajoutez les lignes

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

aux arguments VM de la configuration de lancement que l'on utilise.

Cela a peut-être 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'ajouter 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 cet avertissement FINE apparaîtra - n'apparaît pas immédiatement au lancement de Tomcat. EDIT: extrait du commentaire de @Stephan: "L'avertissement FINE apparaît chaque fois que des modifications sont apportées au 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
24
Mr_and_Mrs_D

(Tomcat 8.0.28) La méthode ci-dessus n'a pas fonctionné 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 (sous 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 abandonné l'intégration à la configuration de lancement d'Eclipse. Sachez que cela ne fonctionne que depuis la console. Le lancement du serveur depuis Eclipse ne produira pas de messages de journal supplémentaires.

11
dominik

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

FINEniveau est pour le journal de débogage.

Cela devrait fonctionner pour Tomcat normal.

Si le Tomcat est exécuté sous Eclipse. Ensuite, vous devez définir le chemin de Tomcat logging.properties dans Eclipse.

  1. Ouvrir les serveurs afficher dans Eclipse.Stop le serveur.Double cliquez sur votre serveur Tomcat.
    Cela va ouvrir Vue d'ensemble fenêtre pour le serveur.
  2. Cliquer sur Ouvrir la configuration de lancementCela ouvrira une autre fenêtre. 
  3. Aller au Arguments languette(deuxième onglet).Aller à Arguments de VM section.
  4. collez ces deux lignes ici: -
    - Djava.util.logging.config.file = "{CATALINA_HOME}\conf\logging.properties" 
    -Djava.util.logging.manager = org.Apache.juli.ClassLoaderLogManager
    Ici CATALINA_HOME est le répertoire du serveur Tomcat correspondant à votre PC.
  5. Enregistrez les modifications. Redémarrez le serveur.

Maintenant, les fichiers JAR qui ont analysé les TLD doivent apparaître dans le journal.

5
mhmuftee

(Tomcat 7.0.32) .__ J'ai eu des problèmes pour voir les messages de débogage alors que l'activation de la ligne TldLocationsCache dans le fichier Tomcat/conf/logging.properties. Tout ce que je pouvais voir, c'était un avertissement, mais pas les bibliothèques numérisées. Changé chaque loglevel a tout essayé pas de chance. Ensuite, je suis passé en mode de débogage non autorisé (= supprimer un par un, installation propre, etc.) et enfin trouver une raison.

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

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

3
Whome

Pour ceux qui souhaitent que cela fonctionne à l'aide du plug-in 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 paramètres de la JVM", cliquez sur le bouton "Ajouter".
  3. Dans la fenêtre "Nouveau paramètre de la machine virtuelle Tomcat", entrez -Djava.util.logging.config.file="{Tomcat_HOME}\conf\logging.properties", où {Tomcat_HOME} est le chemin d'accès à votre répertoire Tomcat (exemple: C:\Tomcat\Apache-Tomcat-7.0.53\conf\logging.properties). Cliquez sur OK.
  4. Sous "Ajouter aux paramètres JVM", cliquez à nouveau sur le bouton "Ajouter".
  5. Dans la fenêtre "Nouveau paramètre de la machine virtuelle 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. Faites les ajustements dans le fichier {Tomcat_HOME}\conf\logging.properties comme spécifié dans la question ci-dessus .
  8. La prochaine fois que vous démarrerez Tomcat dans Eclipse, vous devriez voir les fichiers .jars numérisés répertoriés dans la console Eclipse au lieu du message "Activer la journalisation du débogage pour ce journal". Les informations doivent également être connectées {Tomcat_HOME}\logs\catalina.yyyy-mm-dd.log.
2
GoldDragonTSU

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

Pour résoudre ce problème, j'étais sur Java 7 et je passais à Java 8. 

Ceci s'exécute sous un conteneur docker. Tomcat 7.0.75 + Java 8 + Geos 2.10.2

0
wired00