Tomcat7.0 Error:java.lang.NoClassDefFoundError

前面一段时间看到Tomcat7.0发布了几个测试版,由于没有稳定,也就没有测试了,今天看到新闻,看到Tomcat7.0正式版已经发布了,到官网上下载下来,看看效果如何。

下面列出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,发现启动成功。

你可能感兴趣的:(java,tomcat)