在Jar文件中执行类会导致错误嵌套异常:
java.lang.NoClassDefFoundError: org/springframework/context/annotation/AnnotationConfigApplicationContext
此Jar
文件是EAR
文件的一部分。
它在weblogic(eclipse ear项目部署程序集)中的开发模式下工作正常,但是当使用ant构建ear并从管理控制台部署时,不会加载相关的Jars。依赖的Jars在Jar文件的清单文件中可用,Jar文件放在Ear文件的/ lib中。
你可以帮忙吗?
答案 0 :(得分:1)
罐子已经在EAR中,但仍然没有被捡起来。问题现已解决。
问题的原因 - 同一个罐子有两个不同的版本,但它们各自的依赖罐子是不同的。一个版本的依赖jar丢失了,所以它回落到旧的依赖jar,因为Spring在部署期间抛出了NoSuchFieldError
解决方案 - 在将依赖版本的Jar添加到类路径
后解决了此问题答案 1 :(得分:0)
“依赖的Jars在Jar文件的清单文件中可用”......这还不够。依赖项(在您的情况下是缺少的Spring框架的包)也应该包含在EAR文件中。