推土机5.3.2问题NoClassDefFoundError

时间:2012-02-27 18:08:50

标签: dozer

我正在尝试从推土机5.2.2升级到5.3.2,我收到以下错误

java.lang.NoClassDefFoundError:无法初始化类org.dozer.DozerBeanMapper

在classpath和build.xml文件中,我只是将工作区中的所有引用从5.2.2更改为5.3.2,我在从5.1升级到5.2.2时做了类似的事情,并且它工作正常。

感谢任何帮助。

感谢。

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,实际上,我找到的唯一方法就是使用旧版本的Dozer。我们尝试了比您更大的更新(4.2 - > 5.3.2)。 我确切地说,我只更改了我的pom.xml中的依赖项,使其在我的应用程序服务器(WASCE)上运行,以便恢复:

工作:

<dependency>
   <groupId>net.sf.dozer</groupId>
   <artifactId>dozer</artifactId>
   <version>5.2.2</version>
</dependency>

不工作:

<dependency>
   <groupId>net.sf.dozer</groupId>
   <artifactId>dozer</artifactId>
   <version>5.3.2</version>
</dependency>

即使我们访问DozerBeanMapperSingletonWrapper:

  

引起:java.lang.NoClassDefFoundError:无法初始化类   org.dozer.DozerBeanMapper           at org.dozer.DozerBeanMapperSingletonWrapper.getInstance(DozerBeanMapperSingletonWrapper.java:43)

DozerBeanMapper构造函数是DozerBeanMapper(List mappingFiles),它本来就是一个bug。但是对简单构造函数DozerBeanMapper()的调用在我们自己的类中具有相同的结果。

两个版本之间可能缺少依赖关系...... 请注意,使用5.3.2版本的Eclipse没有问题,因此它也可能是类加载器问题...

希望这会突出问题的根源。

答案 1 :(得分:1)

答案 2 :(得分:1)

我的推土机&amp; dozer-spring版本是5.5.1。

出现以下错误:“NoClassDefFoundError:org.dozer.stats.GlobalStatistics(初始化失败)”。我只在我的依赖项中使用了commons-lang 2.6版。

通过添加commons-lang3依赖项也解决了这个问题。很明显,在commons-lang库的第3版中,推土机存在严重的依赖性。