Java.lang.Noclassdeffonderror: org/apache/juli/logging/LogFactory
j'ai en fait résolu ce problème, mais ça m'a pris des jours, donc j'ai pensé coller ma solution ici pour aider les autres.
J'utilise Fedora 11, et dans Eclipse j'ai essayé d'ajouter un serveur Tomcat 6 et de le démarrer. J'obtiendrais l'erreur suivante:
commence Tomcat v6.0 serveur à localhost' a rencontré un problème.
serveur Tomcat v6.0 serveur à localhost n'a pas pu démarrer.
puis dans ma console j'ai eu ce qui suit:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:54)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
... 1 more
Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.
je vais poster la solution dans une réponse ci-dessous.
5 réponses
j'ai trouvé la solution ici: http://forums.opensuse.org/applications/391114-tomcat6-eclipse-not-working.html
- dans Eclipse, ouvrez l'onglet" Serveur".
- double-cliquez sur L'entrée" Tomcat6 " pour voir la configuration.
- puis cliquez sur le lien" Open launch configuration "dans le bloc" General information".
- dans le dialogue, sélectionnez le Onglet" Classpath".
- cliquez sur le bouton" Ajouter un pot externe".
- sélectionner le fichier "/usr/share/tomcat6/bin/tomcat-juli.jar"
- fermez le dialogue.
- commence tomcat 6 à partir D'Eclipse.
j'espère que le poster ici aidera une pauvre âme.
j'ai copié le contenu du "C:\Program fichiers\Apache Software Foundation\Tomcat 6.0\conf" directory to the " workspace\Servers\Tomcat v6.0 serveur dans le répertoire localhost-config" pour Eclipse. J'ai mis à jour le "Servers\Tomcat v6.0 serveur au dossier localhost-config" dans L'Explorateur de projet Eclipse et puis tout était bon.
-
installer tomcat
# yum install tomcat6*
-
modifier le fichier conf de tomcat
# vim/etc/tomcat6 / tomcat-users.xml
quelque chose comme:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="TomcatAdmin" password="tomcat" roles="admin,manager"/>
</tomcat-users>
-
créez le répertoire racine pour votre projet J2EE, exemple:
$ mkdir -p ~/Projet/java/
-
faire un lien symbolique dans /usr/share/tomcat6/webapps/ ~/Projet/java/
# ln -s /home/Projet//java//dist/.guerre /usr/share/tomcat6/webapps/.de la guerre
Note: le fichier WAR archive est créé automatiquement lorsque vous utilisez netbeans
0r vous pouvez faire:
# ln -s /home/<login>/Project/java/<myProject>/webapps /usr/share/tomcat6/webapps/<myProject>
-
vérifier le fichier /etc/hosts, ce fichier doit contenir la machine nom, mine hosts fichier
jonathan 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomaine4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomaine6
-
démarrer le service httpd
# service httpd start
-
vérifier loclahost page web
-
démarrer tomcat6
# service tomcat6 démarrer
-
vérifier localhost:8080 page web
-
vérifiez que tomcat montrer votre projet
si non:- vérifier le lien symbolique et redémarrer le service tomcat6
- ou ajouter manuellement avec tomcat manager la page web
a) Définir le nom du projet
b) Se chemin pour Web.fichier xml
C) valable
d) démarrer votre projet (à partir de la page web)
Pour fedora 13 et Sous ils sont quelque problème, comment le fixer:
# chmod -R g+w /var/log/tomcat6 /etc/tomcat6/Catalina
# chmod -R g+w /usr/share/tomcat6/work/
enregistrez les fichiers journaux situés dans /var/log / tomcat6 / s'ils sont encore" permission refusée "message
sur mon PC j'ai dû ouvrir à nouveau L'entrée Tomcat6 après la 7ème étape mentionnée ci-dessus et puis changer l'option par défaut sous Server locations
en Use tomcat installation
.