Я использую плагин 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, чтобы включить только те модули, которые я объявляю, и исключить все остальное? Кто-нибудь знает более элегантное решение?