根据依赖版本设置Maven属性

时间:2018-07-11 23:19:31

标签: java maven eclipse-plugin tycho

我正在使用Maven和Tycho组装一个Eclipse插件,其中我的一个maven项目聚集了该项目的非OSGi依赖项,并将它们捆绑为Eclipse插件(这样,Tycho以及我的主插件将能够使用它们)

我遇到一个问题,我的依赖项之一应该始终是jar的最新版本,例如:

<properties>
    <binary-version>LATEST</binary-version>
<properties>
<dependencies>
    <dependency>
        <groupId>com.imaginary.group</groupId>
        <artifactId>needed-binaries</artifactId>
        <version>${binary-version}</version>
    <dependency>
</dependencies>

(仅供参考,实际的依赖关系是我们在内部部署的,否则我会给出实际的groupId / artifactId)

此聚合器项目的所有依赖项都复制到名为maven-libs的目录中,以便可以将它们捆绑在一起。

当我尝试在我的聚合器项目中包含此jar时,需要在build.properties文件中指定它,如下所示:

bin.includes = META-INF/,\
               .,\
               maven-libs/necessary-binaries-1.2.3.jar

每次necessary-binaries版本号更改时都会失败,因为文件名也会更改

我可以将Maven属性添加到build.properties中,但是:

bin.includes = META-INF/,\
               .,\
               maven-libs/necessary-binaries-${binary-version}.jar

只是解析为字面上的necessary-binaries-LATEST.jar,而不是替换为最新版本

所以我的问题是:当我解析needed-binaries的最新版本时,可以将该版本设置为属性吗?然后,我可以在build.properties文件中使用该属性

1 个答案:

答案 0 :(得分:1)

使用LATEST是已弃用的功能。最好使用真实的版本号,并使用版本插件对其进行更新。