Я всегда сталкиваюсь со следующей ситуацией, когда «Запуск на сервере» в моем mavenized EAR проекте.
Положение
Если я предприму следующие шаги в своем проекте EAR:
- mvn clean install
- Запуск на сервере
... приведет к:
application.xml , созданный Maven , будет правильным:
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<display-name>com.company.fbps.api.impl.ear</display-name>
<module>
<ejb>com.company.fbps.api.impl.ejb-0.0.1-SNAPSHOT.jar</ejb>
</module>
</application>
Хотя EJB-проект "com.company.fbps.api.impl.ejb" является зависимой зависимостью проекта EAR:
(в "com.company.fbps.api.impl.ejb" pom.xml)
<dependency>
<groupId>com.company.fbps.api.impl.ejb</groupId>
<artifactId>com.company.fbps.api.impl.ejb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>ejb</type>
</dependency>
... но application.xml , сгенерированный Запуск на сервере , неверен:
Плагин для сервера Oracle WebLogic сгенерирует application.xml в:
...\.metadata\.plugins\org.eclipse.core.resources\.projects\com.company.fbps.api.impl.ear\beadep\fbp_local_test\com.company.fbps.api.impl.ear\split_src
.... с неправильным именем фляги EJB :
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<display-name>com.company.fbps.api.impl.ear</display-name>
<module>
<ejb>com.company.fbps.api.impl.ejb.jar</ejb>
</module>
</application>
Таким образом, в этом процессе некоторая интеграция не осознает тот факт, что Maven генерирует другое имя ejb.jar , и это не используется для «Запуск на сервере».
Обход
Я нашел обходной путь, чтобы он каким-то образом заработал.
Если вы скажете "Maven - Update Project Configuration ..."
до "Run on Server"
, это сработает один раз.
Но снова будет поврежден после следующей сборки.
Использованные плагины
- Oracle WebLogic Server Tools для Eclipse 11.1.1.8.0
- м2e - интеграция Maven для Eclipse 1.0.100.20110804-1717
Вопрос
У вас есть идеи, как исправить эту ситуацию, не используя мой обходной путь?