我正在做这个链接的春天网络服务示例(http://justcompiled.blogspot.in/2010/09/building-web-service-with-spring-ws.html),我得到了例外。
成功运行此项目的任何建议。
我的项目配置:
工具:Eclilpse Indigo,
服务器:Tomcat 7。
Java:JDK,JRE 1.6
部署:Weapps(在我的项目中)
我的例外:
HTTP状态500 -
输入例外报告
消息
description服务器遇到内部错误(),导致无法完成此请求。
例外
javax.servlet.ServletException: Servlet.init() for servlet spring-ws threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
root cause
java.lang.NoSuchFieldError: APPLICATION_CONTEXT_ID_PREFIX
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:431)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:459)
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:340)
答案 0 :(得分:2)
我的项目中遇到了同样的问题。这个问题的根本原因是你必须有两个版本的spring。您可以在存储库文件夹(org \ springframework \ spring-web)或(org \ springframework \ spring-webmvc)中检查相同的内容。您可以从那里删除一个版本。我在同一工作区打开了其他项目,指的是其他版本的spring。当我关闭其他项目并清理和构建时,这解决了我的问题。
由于 卡皮尔
答案 1 :(得分:1)
混合不同版本的弹簧罐?
答案 2 :(得分:0)
我认为,你的类路径中有较旧版本的spring jar(2.5)。它可以在您的pom中明确定义(如果您的项目是maven项目),或者某些其他框架可以依赖于这些并自动添加它们。使用maven,你可以看到更多:
$ mvn dependency:tree
显示项目中的所有依赖项。只需从类路径中删除这些jar(使用排除http://maven.apache.org/pom.html#Exclusions),然后重试。