根据依赖版本设置 Maven 属性
Set Maven property based on dependency version
我正在使用 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 文件
中使用 属性
使用 LATEST
是一项已弃用的功能。最好使用真实的版本号,用版本插件更新。
我正在使用 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 文件
使用 LATEST
是一项已弃用的功能。最好使用真实的版本号,用版本插件更新。