java - Wildfly 10 共享 EJB

标签 java maven jakarta-ee wildfly-10

我目前有一个 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/

相关文章:

Java Swing 匿名操作

安卓工作室 : Error injecting while Appengine backend generation

jakarta-ee - 如何更改 WebSphere Liberty 中的 EJB JNDI 绑定(bind)

google-app-engine - jsessionID 在运行 GAE devserver 时附加到 url

java - 为什么保存在通过自定义类路径容器添加的 jar 中的类不可用于代码完成?

java - 如何从字符串(不是斯坦福解析器的输出)形成一棵树(改编自斯坦福解析器)

java - 从命令行设置 Spring 属性文件位置

maven - 使用 maven-jaxb2-plugin 从多个 wsdl 文件生成类

java - 无法在 Javadoc 注释中链接到 JDK10

java - Wildfly ContextService 并发 securityIdentity 为 null