Невозможно добавить зависимости maven в EJB - Eclipse, websphere, maven
Я кратко объясню ситуацию.
Мне нужно создать приложение и развернуть его в веб-сфере, в приложении есть две части. Презентация и бизнес. Я успешно создал презентационную часть, которая состоит только из войны, и теперь эта часть развернута в веб-сфере. Но теперь я сталкиваюсь с проблемой 2-дневного развертывания бизнес-части. Дело в том, что у меня проблемы с упаковкой ejb-impl, ejb-client и ear. Действительно, когда я пытаюсь развернуть бизнес-часть, в websphere возникает исключение, которое не запускает сервер, потому что ejb-impl не находит интерфейсы
Я пытаюсь воспроизвести рабочую не разработанную архитектуру разработчика, которая упакована в EAR, как показано ниже при извлечении:
- META-INF
- application.xml
- MANIFEST
- lib
- dom4j
- jaxen
- ODApi
- EJB3 (implementation)
- EJB3Client (interfaces)
- Common (needed module)
- ODemand (needed module)
И если я извлекаю EJB, есть такая иерархия:
- com
- META-INF
- ejb-jar
- ibm-ejb-jar-bnd
- EJB3Client (jar)
Как вы можете это, EJB3Client JAR правильно добавлен.
Теперь, если я извлеку свой собственный нерабочий EAR, это результат:
- META-INF
- maven
- application
- MANIFEST
- EJB3 (jar)
- EBJ3Client (jar)
- Common (jar)
- ODemand (jar)
- ... (tons of libraries)
После некоторых тестов и анализа, я думаю, что проблема связана с этим модулем EJB(реализация) ... Действительно, я попытался добавить военный модуль в проект, и никаких проблем, зависимость от войны не была добавлена в корень EAR, но если я добавлю зависимость, например mockito, в зависимости EJB, она также появится в корне после извлечения.
Вот почему я думаю, что проблема связана с упаковкой, и когда я пытаюсь указать в модуле EJB, в сборке развертывания, чтобы добавить зависимости maven в WEB-INF/lib, это невозможно, потому что если я нажму
DeploymentAssembly -> Add -> Java Build Path Entries
Там нет ничего (никаких зависимостей maven) ... Я ничего не знаю о EJB, и я довольно новичок в Maven, поэтому я спрашиваю, есть ли у вас, ребята, какая-то идея преуспеть в этом развертывании..
Чтобы дать немного больше вещей (не могу дать много, я удалил личную информацию):
pom.xml EAR бизнеса:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>ear</packaging>
<artifactId>BusinessEAR</artifactId>
<parent>
<artifactId>BusinessParent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<artifactId>EJB3</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>ejb</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<modules>
<ejbModule>
<artifactId>EJB</artifactId>
</ejbModule>
</modules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>cp1252</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
pom.xml EJB:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>EJB3</artifactId>
<packaging>ejb</packaging>
<parent>
<artifactId>BusinessParent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<artifactId>EJB3Client</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>Common</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>ODemand</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>javax.ejb-api</artifactId>
<version>3.2</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>ODApi</groupId>
<artifactId>ODApi</artifactId>
<version>1.5.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>cp1252</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<ejbVersion>3.1</ejbVersion>
</configuration>
</plugin>
</plugins>
</build>
</project>
Я не могу дать больше информации, потому что приложение и исходный код являются частными извините..
Наконец, я стараюсь быть ISO со своей иерархией части презентации, но все же, я действительно думаю, что проблема заключается в EJB-части.
заранее спасибо