我在我的小测试webapp中面临另一个问题。 我有一个EJB模块(通过maven-pom创建)基本上包装了数据访问,所以它所做的就是将一些DAO实现为Stateless-SessionBeans。我的域模型(带有JPA2注释的简单POJO)位于另一个简单的java项目中,该项目将打包为jar文件。
当我创建企业归档时,maven只将webapp和ejb-module放入application.xml中,即使我手动更改它, ejb-module也无法从域模块中找到类。部署时间。
我读到了一些关于ejb必须在其自己的存档中拥有所有依赖jar的东西,但我不能相信,因为这个域模块也被其他项目使用。
我如何打包(或在maven中设置)以便我的ejb可以从外部jar加载类?
感谢
答案 0 :(得分:1)
如果我记得很清楚,只需在EJB-JAR中生成带有Class-Path条目的清单:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>3.0</ejbVersion>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
...
</plugins>
将外部罐子添加到EAR。为此,请在jarModule
配置中将其声明为Maven EAR plugin。请参阅modules configuration。