EAR プロジェクトの保存時にデプロイ オプションが機能せず、その理由がわかりません。これが私の構造です:
myproject-ear, packaging: EAR
--->myproject-core, packaging: JAR (ejbs)
--->myproject-web, packaging: WAR (.xhtml pages, some javascript and CSS)
私はmavenを使用しており、提供された依存関係としてJARを参照する戦争があります。
問題は、JAR のバージョン管理を処理するための Nexus リポジトリを持っていることです。JAR プロジェクトを開いた状態で開発することはありません。しかし、JAR プロジェクトを閉じてからアプリケーションをデプロイすると、高速デプロイは Glassfish での動作を停止するだけです (EAR ターゲット フォルダーに gfdeploy を生成することさえせず、代わりにすべてのファイルを glassfish ディレクトリにコピーします)。
これが私の(簡略化された)pomファイルです:
親プロジェクト:
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>myproject</name>
<modules>
<module>myproject-web</module>
<module>myproject-ear</module>
</modules>
EAR プロジェクト (maven-ear-plugin を使用):
<parent>
<artifactId>myproject</artifactId>
<groupId>mygroupid</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>myproject-ear</artifactId>
<packaging>ear</packaging>
<name>myproject-ear</name>
<dependencies>
<dependency>
<groupId>mygroupid</groupId>
<artifactId>myproject-core</artifactId>
<version>1.0-SNAPSHOT</version>
<type>ejb</type>
</dependency>
<dependency>
<groupId>mygroupid</groupId>
<artifactId>myproject-web</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
</dependency>
</dependencies>
WAR プロジェクト (maven-war-plugin を使用):
<parent>
<artifactId>myproject</artifactId>
<groupId>mygroupid</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>myproject-web</artifactId>
<packaging>war</packaging>
<name>myproject-web</name>
<dependencies>
<dependency>
<groupId>mygroupid</groupId>
<artifactId>myproject-core</artifactId>
<version>1.0-SNAPSHOT</version>
<type>ejb</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>