Mavenized EARプロジェクトで「サーバー上で実行」を実行しているときに、常に次の状況が発生します。
状況
EARプロジェクトで次の手順を実行した場合:
- mvnクリーンインストール
- サーバーで実行
...につながる:
Mavenによって生成されたapplication.xmlは正しくなります。
<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プロジェクトのMaven依存関係です。
(「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>
...しかし、Run on Serverによって生成されたapplication.xmlは正しくありません:
Oracle WebLogic Serverプラグインは、次の目的で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
....間違ったEJBjar名を持っている:
<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 for Eclipse 11.1.1.8.0
- m2e-Eclipse用のMaven統合1.0.100.20110804-1717
質問
私の回避策を使用せずにこの状況を修正する方法を知っていますか?