Maven EAR + WAR + JAR - PullRequest
       36

Maven EAR + WAR + JAR

0 голосов
/ 05 июня 2018

У меня есть 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 имеет ejb и war зависимости:

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

Во время развертывания я могу обновлять схему и создавать таблицы, последовательности, но когда я пытаюсьиспользую сессионный компонент, я всегда получаю javax.naming.NameNotFoundException: MySessionBean, и это забавно, потому что я вижу на консоли JNDI bindings for session bean named 'MySessionBean' в подразделе ejb-module из ear.

Я часами пытался понять, что яЯ скучаю, но я ничего не получил.Может ли это быть областью зависимости?

1 Ответ

0 голосов
/ 06 июня 2018

Я забыл сказать, что было не так:

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

Оказывается, я использовал java:module/MySessionBean для получения Session Bean, поэтому исключением было что-то вроде '..cannot find ear / module / MySessionBean',поэтому я изменил на java:app/ejb-module/MySessionBean и теперь он работает!

...