Maven EAR + WAR + JAR



我有3个项目(使用Maven(:war,ejb和ear,我面临着这个问题:

我的war项目有一个ejb依赖关系,所以我把...

<dependency>
<groupId>my.company.name</groupId>
<artifactId>ejb-module</artifactId>
<version>1.0</version>
<type>ejb</type>
<scope>provided</scope>
</dependency>

ear具有ejbwar依赖项:

<dependency>
<groupId>my.company.name</groupId>
<artifactId>web-module</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>my.company.name</groupId>
<artifactId>ejb-module</artifactId>
<version>1.0</version>
<type>ejb</type>
</dependency>
...
<configuration>
<filtering>true</filtering>
<version>7</version>
<modules>
<webModule>
<groupId>my.company.name</groupId>
<artifactId>web-module</artifactId>
<contextRoot>/</contextRoot>
</webModule>
<ejbModule>
<groupId>my.company.name</groupId>
<artifactId>ejb-module</artifactId>
</ejbModule>
</modules>
</configuration>

在部署期间,我可以更新模式并创建表、序列,但是当我尝试使用会话 Bean 时,我总是得到javax.naming.NameNotFoundException: MySessionBean这很有趣,因为我在控制台上看到JNDI bindings for session bean named 'MySessionBean'ear的子部署ejb-module中。

我已经尝试了几个小时来弄清楚我错过了什么,但我一无所获。可能是依赖范围吗?

我忘了说出了什么问题:

java:global/ejb-module/MySessionBean
java:app/ejb-module/MySessionBean
java:module/MySessionBean

事实证明,我正在使用java:module/MySessionBean来获取会话豆,因此异常类似于"..找不到耳朵/模块/我的会话豆',所以我改成java:app/ejb-module/MySessionBean,现在它可以工作了!

最新更新