Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory

鉴客 发布于 2012/06/05 16:20
阅读 13K+
收藏 2
前面一段时间看到 Tomcat7.0 发布了几个测试版,由于没有稳定,也就没有测试了,今天看到新闻,看到 Tomcat7.0 正式版已经发布了,到官网上下载下来,看看效果如何。 < XMLNAMESPACE PREFIX ="O" />

下面列出Tomcat 7的一些新特性介绍:

Tomcat 7完全支持Servlet 3.0规范

Tomcat 7新增了对Java注释的支持

Tomcat 7通过web.xml动态配置引用类库的功能

Tomcat 7改进了安全回话的跟踪

Tomcat 7改进了关系服务时候的功能,让关闭时的地址可以配置

Tomcat 7改进了启动类,目前Tomcat 7启动过程无须任何配置文件

Tomcat 7新增了配置参数,可以配置Tomcat 7的执行队列超时时间,和执行大大小限制

… …

新特性带来的是方便和更好地支持Java新特性。感觉Tomcat7 Servlet3.0的支持和Java Annotaion的支持是应现在流行0配置或尽量减少配置文件的需要,Servlet3.0 的到来,感觉最深地是带来直接在code level 直接Annotation即可配置一个Servlet,并不需要以前的在web.xml下配置了。

下载Tomcat7.0后,和MyEclipse进行整合,MyEclipse配置Tomcat7.0如下图

clip_image002

发现在启动的时候报了一个错误

java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory

    at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:55)

Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory

    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

    ... 1 more

Exception in thread "main"

clip_image004

 

到网上搜索了一下,比较好解决,有个网址http://mianniu.com/programming-world/java-lang-noclassdeffounderror-orgapachejulilogginglogfactory-at-org-apache-catalina-startup-bootstrap上说

Solutions

1. In Eclipse, Open the “Server” tab.
2. Double click on the “Tomcat6″ entry to see the configuration.
3. Then click on the “Open launch configuration” link in the “General information” block.
4. In the dialog, select the “Classpath” tab.
5. Click the “Add external jar” button.
6. Select the file “/usr/share/tomcat6/bin/tomcat-juli.jar”
7. Close the dialog.
8. Start tomcat 6 from Eclipse.

实际上,就是把bin/tomcat-juli.jar add tomcat classpath下,效果如下:

clip_image006

重新启动Tomcat7.0,发现启动成功。

出处:http://zghbwjl.blog.163.com/blog/static/12033667220107935846670/

加载中
0
蕙心如丽
蕙心如丽

我的原来用的是单独的tomcat 6.0.20,但是由于我系统上安装了php的集成开发环境xampp,里面有集成的tomcat,我就想看看是不是能在MyEclipse中直接用集成的tomcat,就试了试,换了之后在MyEclipse中启动tomcat时就报了以下错误,与上面不同的是第二句话:at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60),但是解决方案是一样的,当选择classPath时选择了集成环境中的,再次用MyEclipse启动tomcat就可以正常启动了,但是在xampp的管理面板中,tomcat显示未启动。

返回顶部
顶部