2012-04-27 52 views
0

我想在Tomcat 7上使用Struts2框架创建一个新的应用程序。我在eclipse中创建了正确的项目。我从eclipse本身运行tomcat。我的应用程序启动了,但我在控制台中看到一个很长的异常跟踪(如下所示)。奇怪的是,这些显示为警告。最初,我以为我错过了一些库,所以我下载了jaxb-xjc,但是这并没有解决问题。我尝试的下一件事是将示例war文件(struts2-showcase.war)放入webapps文件夹并启动tomcat。日志仍然显示这些错误。任何投入都会很好。Struts2和Tomcat

WARNING: Unable to load class [com.sun.tools.xjc.runtime.NamespaceContext2] to check against the @HandlesTypes annotation of one or more ServletContentInitializers. 
java.lang.ClassNotFoundException: com.sun.tools.xjc.runtime.NamespaceContext2 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2006) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1969) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1858) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1826) 
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1812) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1306) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:621) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Apr 27, 2012 5:00:05 AM org.apache.catalina.startup.ContextConfig checkHandlesTypes 
WARNING: Unable to load class [com.sun.tools.xjc.runtime.NamespaceContextImpl] to check against the @HandlesTypes annotation of one or more ServletContentInitializers. 
java.lang.ClassNotFoundException: com.sun.tools.xjc.runtime.NamespaceContextImpl 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2006) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1969) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1858) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1826) 
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1812) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1306) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:621) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Apr 27, 2012 5:00:05 AM org.apache.catalina.startup.ContextConfig checkHandlesTypes 
WARNING: Unable to load class [com.sun.tools.xjc.runtime.PrefixCallback] to check against the @HandlesTypes annotation of one or more ServletContentInitializers. 
java.lang.ClassNotFoundException: com.sun.tools.xjc.runtime.PrefixCallback 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2006) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1969) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1858) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1826) 
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1812) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1306) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:621) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Apr 27, 2012 5:00:05 AM org.apache.catalina.startup.ContextConfig checkHandlesTypes 
WARNING: Unable to load class [com.sun.tools.xjc.runtime.SAXMarshaller$1] to check against the @HandlesTypes annotation of one or more ServletContentInitializers. 
java.lang.ClassNotFoundException: com.sun.tools.xjc.runtime.SAXMarshaller$1 

回答

0

您需要升级到最新的Tomcat 7.0.x版本,这些警告消失。

Tomcat正在扫描注释并找到对不可用类的引用。没事儿。然而,与其忽视它并继续进行,旧的Tomcat 7版本记录了一个错误。

+0

谢谢,这工作。 – devang 2012-04-27 14:47:36