不同构建配置文件的不同依赖关系

时间:2008-10-03 13:37:43

标签: java maven-2 build-process dependencies

是否可以在maven pom.xml文件中为不同的配置文件设置一组不同的依赖项?

e.g。

mvn -P debug
mvn -P release

我想在一个配置文件中选择一个不同的依赖jar文件,该配置文件具有相同的类名和相同接口的不同实现。

2 个答案:

答案 0 :(得分:155)

引用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>

答案 1 :(得分:5)

您的groupId,artifactId应该在您的配置文件中标记为属性,您可以将依赖项移动到通用部分。