我一直在使用Maven EAR插件爲新項目創建ear文件。我注意到在插件文檔中,您可以指定模塊的排除語句。例如,對於我的插件的配置如下......Maven-ear-plugin - 不包括多個模塊,即罐子,戰爭等
<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依賴關係標誌只包含我聲明和排除其他所有模塊?有誰知道更優雅的解決方案?
順便說一句,道歉,它絕對是典型的Stackoverflow,你問一個具體的問題,有人發佈一個答案是相似/有點相關,但它總是涉及更多的工作! – 2010-03-16 09:34:47
此外,我有一個自定義mojo的示例代碼,如果你沒有得到任何其他的答案,給你開箱即用的配置 – 2010-03-16 09:36:57
我寫了mojo的,我只是希望避免做因爲像往常一樣,我們有一個緊迫的最後期限;)無論如何,你可能是正確的插件是不夠先進的,以允許通配符或完全排除其他模塊。我很可能最終必須自己寫一個插件。在目前我只是手動排除我需要的模塊。謝謝。 – 2010-03-16 10:19:12