bean的初始化失败;嵌套异常是java.lang.NoSuchFieldError:org / springframework / core / convert / TypeDescriptor.NULL

时间:2014-04-16 07:13:21

标签: java spring spring-mvc web-applications

我已在我的网络应用程序中将Spring jar从3.0.x升级到3.2.x版本。目标环境是Websphere Application Server。

当我尝试在浏览器中点击webapp的欢迎页面时,我收到以下错误。

Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0':
Initialization of bean failed; nested exception is java.lang.NoSuchFieldError:
 org/springframework/core/convert/TypeDescriptor.NULL

看起来构建路径中的某些jar / jar依赖于spring 3.0.x.我不确定。如果有人能指出同样的话会很有帮助。

我还想知道如何在dispatcher-servlet.xml中排除其他jar对spring 3.0.x的依赖性。或者我应该升级任何罐子?

我也在努力寻找问题的罪魁祸首。

Build Path Screenshot

2 个答案:

答案 0 :(得分:0)

在Windows上尝试此命令(如果您使用的是maven)

  

mvn依赖:tree |找到" springframework:" |找到":3.0"

或* ix

  

mvn依赖:tree | grep" springframework:" | grep":3.0"

应该是罪魁祸首。

或手动发出

  

mvn依赖:树> dep.txt

并查看/编辑dep.txt并搜索":3.0" (这也会找到其他非弹簧库。

答案 1 :(得分:0)

我碰巧找到了解决自己问题的方法。

我通过删除仍然存在的旧的弹簧3.0.x罐子解决了我原来的问题 WEB-INF/lib目录(但不在类路径中)。

第二件事并回答我的第二个问题是,在Spring 3.2.x jar或更高版本的环境中,使用content-type application/json的Ajax调用不支持使用.htm / .html调用url作为web-app服务器的扩展会引发406错误。我不得不将url扩展名更改为其他任何内容(。为了清晰起见,我使用.json)。

虽然也可能有不同的解决方案,但经过大量搜索后,这对我来说是一个快速解决方案。感谢您的帮助。