Maven中不同构建配置文件的不同依赖项
时间:2020-03-06 15:04:31 来源:igfitidea点击:
对于不同的配置文件,maven pom.xml文件中是否可能具有一组不同的依赖关系?
例如
mvn -P debug mvn -P release
我想在一个配置文件中选择一个不同的依赖项jar文件,该文件具有相同的类名和相同接口的不同实现。
解决方案
在此引用maven文档:
A profile element contains both an optional activation (a profile trigger) and the set of changes to be made to the POM if that profile has been activated. For example, a project built for a test environment may point to a different database than that of the final deployment. Or dependencies may be pulled from different repositories based upon the JDK version used.
(强调是我的)
只需将release
配置文件的依赖项放在配置文件声明本身中,并对debug
做同样的事情。
<profiles> <profile> <id>debug</id> … <dependencies> <dependency>…</dependency> </dependencies> … </profile> <profile> <id>release</id> … <dependencies> <dependency>…</dependency> </dependencies> … </profile> </profiles>
groupId,artifactId应该在配置文件中标记为属性,并且我们可以将依赖项移至通用部分。