我有一个包含Web服务的标准J2EE Web应用程序。我正在使用webservices-rt
库来承载这些服务。 [见下面的maven dependency]。不过,我得到以下异常在运行时:在部署Web应用程序时,出现NoClassDefFoundError异常:LocalizableImpl
SEVERE: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.NoClassDefFoundError: com/sun/xml/ws/util/localization/LocalizableImpl
at com.sun.xml.ws.util.exception.JAXWSExceptionBase.<init>(JAXWSExceptionBase.java:63)
at com.sun.xml.ws.transport.http.servlet.WSServletException.<init>(WSServletException.java:47)
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [...]
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.util.localization.LocalizableImpl
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 33 more
Maven的WS依赖
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>webservices-rt</artifactId>
<version>1.4</version>
<scope>compile</scope>
</dependency>
我缺少一个库?我试过加入jaxws-rt
。但是,这需要额外的回购[jboss
]。我对此有点怀疑,因为它为这个项目引入了很多新的库。
我明白,但它也引入了JBoss平台可能使用的库。我希望引入执行任务所需的最少外部库。 – monksy
我在回应你说你不愿意声明JBoss回购的部分,因为你担心它可能会引入额外的依赖关系。这不应该是一个担心,因为声明回购没有拉入依赖关系。如果某个特定的依赖项牵扯到您不想要的其他依赖项,则可以使用依赖项排除。 –