【问题标题】:Set Maven property based on dependency version根据依赖版本设置 Maven 属性
【发布时间】:2018-07-11 23:19:31
【问题描述】:

我正在使用 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 文件中使用该属性

【问题讨论】:

    标签: java maven eclipse-plugin tycho


    【解决方案1】:

    使用LATEST 是一项已弃用的功能。最好用真实的版本号,用versions插件更新一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-18
      • 2021-12-18
      • 2016-09-18
      • 2023-04-08
      • 2020-07-26
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多