java Tomcat 服务器上的 JAX-WS
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/6536348/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
JAX-WS on Tomcat server
提问by user811165
I am trying to deploy a JAX-WS on a Tomcat server. I have looked around the web and followed instructions I found hereand herebut to no avail. I get the following error and have no idea how to correct the issue.
我正在尝试在 Tomcat 服务器上部署 JAX-WS。我环顾了网络并按照我在此处和此处找到的说明进行操作,但无济于事。我收到以下错误,但不知道如何解决此问题。
SEVERE: WSSERVLET11: failed to parse runtime descriptor: java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:103)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:903)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
at org.apache.commons.digester.Rule.end(Rule.java:276)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.java:76)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1567)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:488)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:483)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
- Error listenerStart - Context startup failed due to previous errors Jun 30, 2011 10:04:25 AM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextDestroyed INFO: WSSERVLET13: JAX-WS context listener destroyed
- 错误 listenerStart - 由于先前的错误,上下文启动失败 2011 年 6 月 30 日上午 10:04:25 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextDestroyed 信息:WSSERVLET13:JAX-WS 上下文侦听器已销毁
here is my sun-jaxws.xml file
这是我的 sun-jaxws.xml 文件
<?xml version="1.0" encoding="UTF-8"?> <endpoints xmlns="http://java.sun.com/xml.ns/jax-ws/ri/runtime" version="2.0">
<endpoint name="ActionMutatorProxy" implementation="com.hyr.boa.transport.ActionMutatorProxy" url-pattern="/action_mutator_proxy" />
回答by Matt Ball
A NoClassDefFoundError
thrown at deploy time means that a class definition that waspresent on the build path (e.g. the Java code compiles) cannot be found at runtime. The compile-time class path is not the same as the deploy-time class path with Tomcat (and other containers).
甲NoClassDefFoundError
在部署时装置抛出一个类定义为存在于构建路径上(例如Java代码编译)不能在运行时被发现。编译时类路径与 Tomcat(和其他容器)的部署时类路径不同。
You need to put jaxp-api.jar
into WEB-INF/lib
or $CATALINA_HOME/lib
.
你需要把jaxp-api.jar
成WEB-INF/lib
或$CATALINA_HOME/lib
。