我正在尝试运行Tomcat 7并收到以下错误:
java.lang.NoSuchMethodError: com.sun.xml.ws.assembler.TubelineAssemblyController: method <init>()V not found
根据这篇文章(http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/)
我将这些jar添加到Tomcat的libs(C:\ Program Files \ Apache Software Foundation \ apache-tomcat-7.0.37 \ lib),到我的项目的libs,甚至在JDK下:C:\ Program Files \ Java \ jdk1 .7.0_15 \ lib,仍然没有好处。
有趣的是,我的项目中没有使用com.sun.xml.ws.assembler.TubelineAssemblyController类的内容。有谁有想法吗?提前谢谢。
答案 0 :(得分:5)
java.lang.NoSuchMethodError
通常在类路径中有错误的jar版本时会发生。
例如,在开发过程中,您使用stax-ex1.2.jar
但运行时使用stax-ex.jar
。确保在类路径中有相同版本的jar可用于编译时和运行时。
答案 1 :(得分:1)
“有趣的是,我的项目中没有任何内容使用com.sun.xml.ws.assembler.TubelineAssemblyController类。”
但你的一个罐子的来源正在寻找它。您可能有错误的jar文件版本。尝试重新下载最新版本。
答案 2 :(得分:0)
我遇到了与Apache Commons和Tomcat 7相同的问题。 我的lib文件夹中有一个新版本,而tomcat在commmons lib文件夹中有另一个版本。
Tomcat首先加载其文件夹的libs,然后加载我的webapp的WEB / lib。一旦我使用的方法仅适用于新版本,我就会遇到与您相同的异常。
尝试在类路径中本地化不同版本的lib。