2014-08-27 28 views
0

具体来说,就是它可以读取一个属性文件,然后使用它 定义的属性来指定依赖的版本,例如:Maven有可能使用外部文件来定义依赖版本吗?

<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>${commons-logging.version}</version> <!--should come from an external file --> 
</dependency> 
+0

是否有你不想使用父POM或'import'范围的原因? – chrylis 2014-08-27 23:21:15

+0

我想保持依赖版本在用maven构建的项目和用其他东西构建的项目(更改不是选项)之间保持同步,并通过属性文件指定其依赖项版本。 – zoli 2014-08-27 23:25:42

+1

这在理论上是可行的(我已经看过引用,但除了自己的命令行之外没有设置任何东西),但这听起来像是Gradle的一个很好的例子。 – chrylis 2014-08-27 23:27:14

回答

1

你可以走另外一条道路圆,让行家写属性文件,该文件通过Properties Maven Plugin包含依赖项的值。

你可以在你的pom文件中定义这样的属性:

<properties> 
    <commons-logging.version>2.3</commons-logging.vesion> 
    </properties> 

    <dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>${commons-logging.version}</version> 
    </dependency> 

和阅读在旧版构建文件。

+0

感谢您的建议。这在当前的设置中不可行。属性文件是大多数人都可以访问和熟悉的。由maven构建的项目由极少数人在独立的存储库中开发。将这个存储库作为版本信息的来源是不合理的。 – zoli 2014-08-29 15:25:59