不同生成配置文件的不同依赖项

2022-08-31 08:33:21

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

例如:

mvn -P debug
mvn -P release

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


答案 1

引用Maven文档:

配置文件元素包含可选激活(配置文件触发器)和要对 POM 进行的更改集(如果该配置文件已激活)。例如,为测试环境生成的项目可能指向与最终部署数据库不同的数据库。或者,可以根据所使用的 JDK 版本从不同的存储库中提取依赖项

(重点是我的)

只需将配置文件的依赖项放在配置文件声明本身中,然后对 执行相同的操作即可。releasedebug

<profiles>
    <profile>
        <id>debug</id>
        …
        <dependencies>
            <dependency>…</dependency>
        </dependencies>
        …
    </profile>
    <profile>
        <id>release</id>
        …
        <dependencies>
            <dependency>…</dependency>
        </dependencies>
        …
    </profile>
</profiles>

答案 2

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


推荐