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

She*_*jie 5 dependencies build maven maven-profiles

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

<dependency>
   <artifactId>projectB</artifactId>
   <groupId>blabla</groupId>
   <version>version1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我想要实现的是非常直接的,maven配置文件允许我做任何事情:

if(profileA) {
    <version>version1</version>
}
else {
    <version>version2</version>
}
Run Code Online (Sandbox Code Playgroud)

And*_*nov 6

是的,这可以完成(放到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>
Run Code Online (Sandbox Code Playgroud)