我目前有一个由共享common.jar,一个EJB.jar和几个WAR组成的EAR。当我只需要进行很小的更改时,重新创建整个EAR并重新部署它可能会很耗时。

所以现在,我试图在我的开发环境中独立部署JAR,EJB和WAR。我能够部署JAR以及不需要EJB的所有WAR而不会出现问题。任何需要EJB的WAR都会失败,并导致:


  WFLYEJB0406:找不到接口为“ foo.IBar”类型的EJB
  绑定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 poms中:

<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/

10-13 05:39