我將項目從Maven 1升級到Maven 3.它工作正常,但我還有其他一些問題。 Maven 3沒有像下面這樣的「屬性」標籤;Maven:通過屬性複製依賴項
<dependency>
<groupId>commons-logging</groupId>
<properties>
<cdstool.bundle>true</cdstool.bundle>
<war.bundle>true</war.bundle>
</properties>
</dependency>
但要做出釋放我需要知道需要什麼,其依賴的時候,所以我可以將它們複製到我的release文件夾相關的文件夾。
這是Ant從以前的Maven 1版本創建發行版的目標,它通過檢查它們的「屬性」將某些依賴項複製到特定的文件夾下面是一個示例,但是有超過1個目標目錄,被複制
<j:forEach var="lib" items="${pom.artifacts}">
<j:set var="dep" value="${lib.dependency}"/>
<j:if test="${dep.getProperty('cdstool.bundle')=='true'}">
<ant:copy failonerror="true" todir="${maven.build.dir}/cdstool">
</ant:copy>
</j:if>
</j:forEach>
如何在不使用Ant的情況下在當前的Maven 3項目中執行此操作?
首先,我需要知道依賴項屬性,所以我知道什麼TI複製到哪裏,哪些在我當前的pom依賴項中缺少,因爲沒有屬性標記。然後我需要使用Maven Assembly插件將它們複製到我想要的文件夾中。
這是一個有趣的問題,我沒有直接的答案。我最初的直覺是讀入Maven assembly插件;我敢肯定,你應該使用它來控制最終在可部署工件中的什麼位置。可能沒有簡單的過渡要做,你必須找到一種獲得相同結果的新方法。 – Gimby
@Gimby dank je wel! – Spring