新しいプロジェクトの ear ファイルを作成するために、Maven EAR プラグインを使用しています。プラグインのドキュメントで、モジュールの除外ステートメントを指定できることに気付きました。たとえば、私のプラグインの構成は次のとおりです...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<jboss>
<version>5</version>
</jboss>
<modules>
<!-- Include the templatecontroller.jar inside the ear -->
<jarModule>
<groupId>com.kewill.kdm</groupId>
<artifactId>templatecontroller</artifactId>
<bundleFileName>templatecontroller.jar</bundleFileName>
<includeInApplicationXml>true</includeInApplicationXml>
</jarModule>
<!-- Exclude the following classes from the ear -->
<jarModule>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<excluded>true</excluded>
</jarModule>
<jarModule>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<excluded>true</excluded>
</jarModule>
... declare multiple excludes
<security>
<security-role id="SecurityRole_1234">
<role-name>admin</role-name>
</security-role>
</security>
</configuration>
</plugin>
</plugins>
このアプローチは、除外するモジュールが 4 ~ 5 個ある小規模なプロジェクトではまったく問題ありません。ただし、私のプロジェクトには 30 以上ありますが、プロジェクトを開始したばかりなので、プロジェクトが拡大するにつれて、これは成長する可能性があります。
モジュールごとに明示的に除外ステートメントを宣言する以外に、ワイルドカードを使用するか、すべての Maven 依存関係フラグを除外して、宣言したモジュールのみを含め、他のすべてを除外することは可能ですか? よりエレガントなソリューションを知っている人はいますか?