java.lang.NoClassDefFoundError:org / apache / juli / logging / LogFactory
我其实已经想出了这个问题,但是花了我好几天的时间,所以我想我会在这里粘贴我的解决scheme来帮助别人。
我使用的是Fedora 11,而在Eclipse中,我尝试添加一个Tomcat 6服务器并启动它。 我会得到以下错误:
“在本地启动Tomcat v6.0服务器”遇到了问题。
本地主机上的服务器Tomcat v6.0服务器无法启动。
然后在我的控制台,我得到了以下内容:
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$1.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.
我将在下面的答案中发布解决scheme。
我在这里find了解决scheme: http : //forums.opensuse.org/applications/391114-tomcat6-eclipse-not-working.html
- 在Eclipse中,打开“服务器”选项卡。
- 双击“Tomcat6”条目查看configuration。
- 然后点击“常规信息”块中的“打开启动configuration”链接。
- 在对话框中,select“Classpath”选项卡。
- 点击“添加外部jar”button。
- select文件“/usr/share/tomcat6/bin/tomcat-juli.jar”
- closures对话框。
- 从Eclipse启动tomcat 6。
希望在这里张贴将有助于一些可怜的灵魂。
我将“C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ conf”目录的内容复制到Eclipse的“workspace \ Servers \ Tomcat v6.0 Server localhost-config”目录下。 我刷新了Eclipse Project Explorer中的“Servers \ Tomcat v6.0 Server localhost-config”文件夹,然后一切都很好。
-
安装tomcat
#yum安装tomcat6 *
-
编辑tomcat conf文件
#vim /etc/tomcat6/tomcat-users.xml
就像是:
<?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>
-
为您的J2EE项目创build根目录,例如:
$ mkdir -p〜/ Project / java /
-
做符号链接,/ usr / share / tomcat6 / webapps / to〜/ Project / java /
#ln -s /home//Project/java//dist/.war /usr/share/tomcat6/webapps/.war
注意:使用netbeans时,war档案文件是自动创build的
你可以做:
# ln -s /home/<login>/Project/java/<myProject>/webapps /usr/share/tomcat6/webapps/<myProject>
-
检查/ etc / hosts文件,这个文件必须包含机器名,mine hosts文件
jonathan 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6
-
启动httpd服务
#service httpd start
-
检查loclahost网页
-
启动tomcat6
#service tomcat6启动
-
检查localhost:8080网页
-
检查一下tomcat是否显示你的项目
如果不:- 检查符号链接并重新启动tomcat6服务
- 或者用tomcatpipe理器网页添加manualy
a)设置项目名称
b)到web.xml文件的Sepath
c)有效
d)开始您的项目(从网页)
对于Fedora 13和下他们是一些问题,如何解决它:
# chmod -R g+w /var/log/tomcat6 /etc/tomcat6/Catalina # chmod -R g+w /usr/share/tomcat6/work/
检查位于/ var / log / tomcat6 /中的日志文件是否有“权限被拒绝”消息
上述解决scheme没有帮助我,我可以通过重新安装需要几秒钟的Tomcat服务器来解决它。
在我的PC上,我必须在上述第七步之后再次打开Tomcat6条目,然后将“ Server locations
下的默认选项更改为Use tomcat installation
。