我们为我们的主项目提供了POM。我会说10到15个配置文件在里面定义。依赖是通用的,大概在20左右。基于配置文件添加令牌的Maven POM依赖关系
我们有(至少)一个依赖关系,其版本取决于配置文件是针对测试还是生产。生产部署需要:
<version>1.0.3.RELEASE</version>
的依赖版本而开发和分期部署采取
<version>1.0.3.STAGING</version>
我想设置的东西,这样我们就不必关掉这个手动了。一个明显的解决方案是定义配置文件内的依赖关系。问题在于我们拥有的配置文件数量。每次版本号增加时,我们都必须小心,不要错过某处更新版本。
我读到符号化,并试图宣称这样的通用依赖性:
<dependency>
<groupId>org.groupId</groupId>
<artifactId>lib-artifactId</artifactId>
<version>1.0.3.${lib-artifactId.version}</version>
</dependency>
,然后加入
<properties>
<lib-artifactId.version>RELEASE</lib-artifactId.version>
</properties>
到每个配置文件,以适当的释放改为分期哪里。
这是行不通的。错误是无法找到版本的库
1.0.3.${lib-artifactId.version}
换句话说,它并不代替令牌。
我该如何解决这个问题?
我已经在一个项目中使用了这个解决方案(配置文件+属性具有不同的值),它的工作完美。你确定配置文件已正确激活吗? –
我非常确定,因为所有配置文件按预期和预期工作。我考虑的一件事是,因为所有我的配置文件都在pom.xml中,所以maven可能无法解析该令牌,因为它已被多次定义(每个配置文件一次)。 – Zaan