我目前有一个 EAR,其中包含共享的 common.jar、一个 EJB.jar 和几个 WAR。当我只需要进行小的更改时,重新创建整个 EAR 并重新部署它可能非常耗时。
现在,我尝试在我的开发环境中独立部署 JAR、EJB 和 WAR。我能够毫无问题地部署 JAR 和任何不需要 EJB 的 WAR。任何需要 EJB 的 WAR 都会失败并显示:
WFLYEJB0406: No EJB found with interface of type 'foo.IBar' for binding foo.Baz/myBean
我将以下内容添加到 maven-ejb-plugin 的 EJB pom 中以引用 JAR:
<configuration>
<archive>
<manifestEntries>
<Dependencies>deployment.common-${project.version}.jar export</Dependencies>
</manifestEntries>
</archive>
</configuration>
我将以下内容添加到需要访问 EJB 的 WAR pom 中:
<configuration>
<archive>
<manifestEntries>
<Dependencies>deployment.ejb-${project.version}.jar</Dependencies>
</manifestEntries>
</archive>
</configuration>
在不使用 EAR 时,我缺少什么来让我的 WAR 获取 EJB 部署?
最佳答案
我建议您使用 jboss-deployment-structure.xml 声明您的模块依赖项。要回答您的问题,如果您会在部署时看到找不到模块或类似的异常,则似乎不存在与模块依赖项相关的问题。我认为问题是部署间 EJB 调用需要 lookup .
你可以看看here例如。
关于java - Wildfly 10 共享 EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42282798/