首页 > 解决方案 > TomEE web profile 7.1.4没有加载ejb jar?

问题描述

我有一只耳朵,里面有一个 ejb jar 和一个战争。战争包含一个调用 EJB 的 servlet。如果我在 WEB-INF/lib 文件夹下部署没有 ejb jar 的 ear,则 servlet http 请求失败。

我认为不需要将 ejb jar 保存在 WEB-INF/lib 文件夹中,只要它在应用程序根文件夹中可用(在战争旁边)。war 和 ejb jar 都作为依赖项包含在 ear pom.xml 文件中

标签: javaejbearapache-tomeeapplication.xml

解决方案


ear application.xml 文件内部没有 ejb 模块标记。这是由于 maven ear 插件中的配置错误。解决方案是在 ear pom.xml 中添加粗体线:

  <artifactId>maven-ear-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
        <modules>
            <webModule>
                <groupId>org.asier</groupId>
                <artifactId>javaee7-war</artifactId>
            </webModule>
            **<ejbModule>
                <groupId>org.asier</groupId>
                <artifactId>javaee7-ejb</artifactId>
            </ejbModule>**
        </modules>
    </configuration>

推荐阅读