maven - 使用不同的 Maven 配置文件更改 Maven 依赖项的版本

标签 maven build dependencies maven-profiles

我有两个项目,项目 A 依赖于项目 B,所以通常,我的 projectA/pom.xml 中有以下部分:

<dependency>
   <artifactId>projectB</artifactId>
   <groupId>blabla</groupId>
   <version>version1</version>
</dependency>

我想要实现的目标非常简单,maven profile 是否允许我执行以下操作:
if(profileA) {
    <version>version1</version>
}
else {
    <version>version2</version>
}

最佳答案

是的,这可以做到(将 activeByDefault 放在您需要默认的任何配置文件中)。

<dependency>
    <artifactId>projectB</artifactId>
    <groupId>blabla</groupId>
    <version>${dependency.version}</version>
</dependency>
...
<profiles>
    <profile>
        <id>first</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>            
        <properties>
            <dependency.version>1.2.3</dependency.version>
        </properties>
    </profile>
    <profile>
        <id>second</id>
        <properties>
            <dependency.version>2.3.4</dependency.version>
        </properties>
    </profile>
</profiles>

关于maven - 使用不同的 Maven 配置文件更改 Maven 依赖项的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553458/

相关文章:

maven - 如何在 Maven 中指定传递依赖的版本?

java - Maven Codehaus findbugs 插件 "onlyAnalyze"选项未按预期工作

php - Composer 不会更新过时的依赖项

dependencies - JasperReports 的最小依赖项

maven - maven 3 中 maven-metadata.xml 的架构或引用(特别是 <latest/>、<release/>)?

android - Paypal 集成错误 - Android

java - 使用 Maven Resolver Provider 以编程方式获取有效的 POM

angular - 如何处理构建 "dist"文件夹

iphone - Xcode 4.02 在构建大型项目期间始终挂起

dependencies - Matlab-Python 编译器 SDK 失败并显示 "undefined symbol: XML_SetHashSalt"