Maven mvn jboss:部署失败,出现NoClassDefFoundError
当使用JBoss Maven Plugin将EJB项目部署到JBoss时,我在JBoss的控制台上得到一个NoClassDefFoundError,该类位于该EJB项目的一个依赖项中 此依赖项是用编译范围声明的。我是否应该使用另一个作用域,以便将依赖项也部署到JBoss?或者我应该如何解决这个问题 错误如下所示:Maven mvn jboss:部署失败,出现NoClassDefFoundError,maven,deployment,jboss,maven-plugin,noclassdeffounderror,Maven,Deployment,Jboss,Maven Plugin,Noclassdeffounderror,当使用JBoss Maven Plugin将EJB项目部署到JBoss时,我在JBoss的控制台上得到一个NoClassDefFoundError,该类位于该EJB项目的一个依赖项中 此依赖项是用编译范围声明的。我是否应该使用另一个作用域,以便将依赖项也部署到JBoss?或者我应该如何解决这个问题 错误如下所示: DEPLOYMENTS IN ERROR: Deployment "vfszip:/Users/hordine/projects/SoftBudget/soft-budget-ej
DEPLOYMENTS IN ERROR:
Deployment "vfszip:/Users/hordine/projects/SoftBudget/soft-budget-ejb/target/soft-budget-ejb.jar/" is in error due to the following reason(s): java.lang.NoClassDefFoundError: br/com/pedra/j2eepatterns/facade/IEntityService
我知道您已经将EJB打包为jar文件。这意味着没有提供任何与独立jar相同的依赖项 此外,可能有以下3种可能的方法:-
ear
并将这些依赖项放入ear/lib
中。有关更多信息,请参阅
war
,并将这些依赖项放入WEB-INF/lib
中。有关更多信息,请参阅
jar
,并将这些依赖项放在类路径
或应用服务器库
中。请参阅您的应用程序服务器文档
javaee6
,则可以将EJB
打包为war
文件。警察告诉我们
企业bean通常提供web应用程序的业务逻辑。在这些情况下,将企业bean打包到web应用程序的WAR模块中可以简化部署和应用程序组织。企业bean可以作为Java编程语言类文件打包在WAR模块中,也可以打包在打包在WAR模块中的JAR文件中
要在WAR模块中包含enterprisebean
类文件,类文件应位于WEB-INF/classes
目录中
要在WAR模块
中包含包含enterprisebean
的JAR文件
,将JAR
添加到WAR模块的WEB-INF/lib
目录中
包含企业bean的WAR模块不需要ejbjar.xml
部署描述符如果应用程序使用ejb jar.xml
,则它必须位于WAR
模块的WEB-INF
目录中
我希望这会有所帮助。您的ejb包是什么?罐子,战争还是耳朵?就像罐子一样。我不想通过将依赖项复制到服务器lib文件夹来单独部署依赖项,这是可能的吗?我将它们打包为一个jar,是的。谢谢您的选择,但我不想在EAR中部署它,我认为您不能将EJB打包为WAR。(你也可以)。我想将它们部署为Jar。我担心我必须单独部署依赖项,是的。我投了你一票,但是让我们看看是否有其他人有更好的主意。如果你使用JavaEE6,可以将EJB
打包为war
。请参阅我的编辑以了解更多信息。感谢所有的信息,很高兴知道所有这些,但我正在使用JBoss5和JavaEE5。