2010-09-27 5 views
1

Pendant que je lance tomcat, je reçois l'exception suivante. Pourriez-vous me dire la raison? Voici la pile complète.Tomcat 5: Récupération de l'exception juli pendant la charge de tomcat

java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:61) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 

Merci Shafi

+0

J'ai exactement le même problème.Le tomcat-juli.jar ne contient pas le paquet de journalisation, donc ne peut pas remplir la recherche pour org.apache.juli.logging.LogFactory, qui est probablement situé ailleurs. Je suis en train de revoir un projet sur lequel il n'y a pas eu de travail depuis plus d'un an, et ce qui est étrange, c'est que je n'avais pas ce problème auparavant. – belugabob

+0

Pour résoudre le problème, j'ai dû copier le fichier tomcat-juli.jar de Tomcat6 dans mon installation de Tomcat 5. Cela ne va pas du tout à de nombreux niveaux, en particulier le fait que lorsque mon application a été développée à l'origine, Tomcat 6 n'existait pas - donc je ne peux pas comprendre comment l'application fonctionnait auparavant. – belugabob

+0

Mise à jour: Il s'est avéré qu'il y avait une copie de catalina.jar dans mon répertoire WEB-INF/Lib, et le supprimer a résolu le problème 'juli' (et un autre aussi) Je ne sais pas comment il est arrivé, alors don 'tâche. – belugabob

Répondre

0

Cela sonne comme le JAR tomcat-juli.jar est manquant ou endommagé. Vérifiez l'archive de distribution Tomcat là où elle devrait être et réinstallez-la. [

[EDIT] La trace de pile ci-dessus indique org.apache.jasper.servlet.JspServlet veut cette classe. Où est JspServlet? Peut-être avez-vous déployé servlet.jar avec votre application Web?

Avez-vous précompilé vos JSP ou quelque chose? Essayez de les recompiler avec la version de Tomcat que vous utilisez sur le serveur.

+0

tomcat-juli.jar est déjà présent dans le répertoire tomcat/bin. J'ai essayé de l'enlever mais sa présence ou son absence ne fait aucune différence. Dans les deux cas, je reçois la même erreur – shafi

+1

Vérifiez l'archive. Peut-être que c'était corrompu en quelque sorte. –

+0

L'insatllation tomcat provient d'un nouveau téléchargement, est exactement la même que l'installation qui est dans une sauvegarde des fichiers comme il y a plus d'un an, et aucun des fichiers tomcat-juli.jar ne contient le paquet de journalisation. Cette classe est-elle située dans un autre pot, comme c'est commun dans le monde de Java? – belugabob

1

seulement effectuer les étapes suivantes:

bootstrap.jar de Tomcat utilisé pour référencer le fichier bin/tomcat-juli.jar dans son manifeste. Cela est en train de changer car cela a forcé tomcat à utiliser une bibliothèque spécifique. Au lieu de cela, il doit être ajouté à la ligne -classpath. Ouvrez votre configuration de serveur et ajoutez tomcat-juli.jar au classpath, et cela fonctionnera.

+0

J'ai essayé la même chose, mais cela n'a pas fonctionné :( – shafi