Java MDB EJB Project maven依赖Web Project
Java MDB EJB Project maven depends on Web Project
我有一个现有的网络项目。现在我收到了添加 MDB EJB 项目的要求,我也照做了。 EJB项目maven依赖web项目
到目前为止一切都很好。当我开始在我的 MDB 的 Web 项目中使用一些 类 时,它编译得很好,一切看起来都很棒但是在运行时炸弹 NoClassDefFoundError
我访问了我的网站 pom.xml 并将其添加到配置部分
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<attachClasses>true</attachClasses>
在我的 EJB POM 中
<dependency>
<groupId>my.group</groupId>
<artifactId>my-web-project-name</artifactId>
<version>${project.version}</version>
<classifier>classes</classifier>
</dependency>
如何让我的 EJB 在 Web 项目中找到 类
我真的不能用另一种方式来做,因为我不允许编辑 Web 项目。请帮忙!!!
基本上默认所有服务器都使用模块类加载器,web 模块可能依赖于 ejb,但不是其他方式。绝对不推荐。您有以下选项:
- 如果您在 Java EE 6 兼容服务器上,您可以将 EJB 直接添加到 Web 模块(需要更改 Web 项目)
- 从 Web 项目中提取通用 类 并创建 java 实用程序项目。将该项目添加到EAR,并使web和ejb项目依赖于它,web依赖于ejb(也需要在web中进行更改)
- 为您的整个应用程序配置单个类加载器。如果您的服务器允许,这应该可以解决您的问题。
总而言之,我宁愿推荐编辑 web 项目并使用两个第一个解决方案中的一个,但如果你真的不能,那么第三个解决方案应该可行。
我有一个现有的网络项目。现在我收到了添加 MDB EJB 项目的要求,我也照做了。 EJB项目maven依赖web项目
到目前为止一切都很好。当我开始在我的 MDB 的 Web 项目中使用一些 类 时,它编译得很好,一切看起来都很棒但是在运行时炸弹 NoClassDefFoundError
我访问了我的网站 pom.xml 并将其添加到配置部分
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<attachClasses>true</attachClasses>
在我的 EJB POM 中
<dependency>
<groupId>my.group</groupId>
<artifactId>my-web-project-name</artifactId>
<version>${project.version}</version>
<classifier>classes</classifier>
</dependency>
如何让我的 EJB 在 Web 项目中找到 类
我真的不能用另一种方式来做,因为我不允许编辑 Web 项目。请帮忙!!!
基本上默认所有服务器都使用模块类加载器,web 模块可能依赖于 ejb,但不是其他方式。绝对不推荐。您有以下选项:
- 如果您在 Java EE 6 兼容服务器上,您可以将 EJB 直接添加到 Web 模块(需要更改 Web 项目)
- 从 Web 项目中提取通用 类 并创建 java 实用程序项目。将该项目添加到EAR,并使web和ejb项目依赖于它,web依赖于ejb(也需要在web中进行更改)
- 为您的整个应用程序配置单个类加载器。如果您的服务器允许,这应该可以解决您的问题。
总而言之,我宁愿推荐编辑 web 项目并使用两个第一个解决方案中的一个,但如果你真的不能,那么第三个解决方案应该可行。