2011-03-30 52 views
7

我想能够在我的web春季支持自动绑定中启用SpringBeanAutowiringSupport的错误一个JAX-WS Web服务

public class MyService extends SpringBeanAutowiringSupport implements SomeInterface { 

private Dao dao; 

@Autowired 
public void setDao(Dao dao) { 
    this.dao = dao; 
} 

@WebService(endpointInterface = "SomeInterfacePath") 

但是注释行通过为MyService类以下,当我尝试运行它,我得到一个

java.lang.NoSuchMethodError: org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext; 
at org.springframework.web.context.support.SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(SpringBeanAutowiringSupport.java:81) 
at org.springframework.web.context.support.SpringBeanAutowiringSupport.<init>(SpringBeanAutowiringSupport.java:68) 

错误,我一直没能找到一个解决方案。我使用Spring 3.0 jar和apache-cxf。 Spring自动装配在我​​的项目中的其他地方工作,但在这里似乎不太好。关于发生了什么的任何想法?我在我的appConfig中定义了一个jaxws端点

<jaxws:endpoint 
    id="myendpoint" 
    implementor="MyService" 
    address="/helloworld 
    /> 
+4

闻起来像一个春天的版本冲突对我。确保你只有Spring 3.0 JAR。检查CXF JAR以确保没有弹簧的副本隐藏在那里。 – skaffman 2011-03-30 12:17:02

+0

谢谢,原来Spring框架jar的旧版本正在被使用,因此发生冲突。 – ShakeAndBake 2011-03-30 13:15:12

+2

这是一个好主意,将其作为答案添加并接受,供网站的其他用户查看。 – artbristol 2011-04-07 16:32:46

回答

1

直到最近,Apache CXF都将Spring 2.5.5作为maven依赖项。 然而,CXF版本2.3及更高版本使用Spring 3

都包括<dependencymanagement>部分是关系到春指定的版本。