对于不同配置文件,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