對於不同配置文件,maven pom.xml文件中是否有不同的依賴關係?maven中不同構建配置文件的不同依賴關係
例如
mvn -P debug
mvn -P release
我想在一個配置文件中選擇具有相同類名和相同接口的不同實現的不同依賴項jar文件。
對於不同配置文件,maven pom.xml文件中是否有不同的依賴關係?maven中不同構建配置文件的不同依賴關係
例如
mvn -P debug
mvn -P release
我想在一個配置文件中選擇具有相同類名和相同接口的不同實現的不同依賴項jar文件。
引述maven documentation on this:
簡檔元素包含兩個任選的活化(輪廓觸發器)和設定到POM以作出如果所選擇的文檔已被激活的變化。例如,爲測試環境構建的項目可能會指向與最終部署不同的數據庫。 或者依賴關係可能會根據所用的JDK版本從不同的存儲庫中提取。
(重點是我的)
只要把依賴的文件聲明本身內部的release
配置文件和debug
這樣做。
<profiles> <profile> <id>debug</id> … <dependencies> <dependency>…</dependency> </dependencies> … </profile> <profile> <id>release</id> … <dependencies> <dependency>…</dependency> </dependencies> … </profile> </profiles>
您的groupId,artifactId應該在配置文件中作爲屬性進行標記,並且可以將您的依賴關係移動到通用部分。
這可以用於定位不同的Web服務器。例如,爲JavaEE 5服務器構建JavaEE 5服務器時,該服務器提供了不應包含在war文件中的JAXB之類的庫,與爲JavaEE 1.4服務器構建應該包含JAXB JAR的服務器。 – Leonel 2009-10-16 14:06:04