【问题标题】:Can not deploy a project on Jboss because of a Dozer class not found由于找不到 Dozer 类,无法在 Jboss 上部署项目
【发布时间】:2012-06-27 18:03:25
【问题描述】:

您好,我在 EJB3 项目中使用 Eclipse,struts2 和 hibernate。Server 是 JBoss 7.1。一切正常。 然后我安装了 Dozer 5.2.2,并将其添加到构建路径(它显示在“引用的库”文件夹中,我已经检查了“配置构建路径”菜单) 它在我的 Junit 测试用例中运行良好。 问题是,当我尝试部署 EJB 项目时,出现错误:

原因:java.lang.ClassNotFoundException: org.dozer.DozerBeanMapper from [Module "deployment.EJBprofile.jar:main" from Service Module Loader]

我做错了什么? 感谢您的帮助

【问题讨论】:

  • 这是什么部署,EAR、WAR等?
  • 嗨,james,它是 web 客户端的战争和 ejb 的 Jar
  • 是否全部打包在 EAR 中?可能需要建立一个依赖链接。
  • 不,我应该用 EAR 包装重新创建它

标签: ejb-3.0 jboss7.x classnotfoundexception dozer


【解决方案1】:

如果您的 EJB 和 WAR 都需要 Dozer,您可以将其安装为一个模块。您还可以将所有内容打包到 EAR 中,并将 Dozer 库放在 EAR/lib 目录中。

还可以看看class loading 的工作原理。

【讨论】:

  • :) 我只需要 EJB 端的 Dozer,因为我使用 Hibernate 来检索带有集合的对象,如果我不克隆它们,则会出现错误。我会尝试您提供的两种解决方案。作为一个模块安装,我创建了目录 "org" / "dozer" /"main" ,在那里添加了 dozer-5.2.2.jar 并创建了 "module.xml" 文件: 但不起作用。我将尝试使用 EAR 解决方案
  • 您还需要将其作为依赖项添加到您的 EJB jar 中的 MANIFEST.MF 中。
  • 已解决:D 我将推土机 jar 添加到库中(在 Eclipse 中使用右键单击...添加模块...)我必须以这种方式添加所有库。我还在项目中添加了 CDI 功能。推土机工作正常 ^^ 非常感谢詹姆斯,我正在做这个项目以获得我的文凭,所以这很有帮助!
猜你喜欢
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多