首页 > 解决方案 > manifest.mf 中的范围版本错误

问题描述

我在一个 Maven 项目中包含了一个依赖,它给出了一个 Range:

<dependencyManagement> 
<dependency>
    <groupId>com.project.name</groupId>
    <artifactId>artifact</artifactId>
    <version>[3.53,)</version>
</dependency>
</dependencyManagement>

部署开始,maven 查找 Nexus 服务器上的依赖项,下载自 3.53 以来的每个版本到最后一个可用的 Relase/Snapshot(这对我们来说没问题,这就是范围的用途!)。为了清楚起见,假设这个包的最后一个版本是 3.56.4-SNAPSHOT

但是当我部署包时,我看到在 MANIFEST.MF 中范围已更改:

com.project.name.artifact;version="[3.56,4)"

相反,我希望我可以保存:

com.project.name.artifact;version="[3.53,4)"

这对我来说是个问题,因为我需要将这个 jar 安装在一个服务器上,在该服务器上,3.56 包不可用。

我试图通过设置来改变范围,例如: [3.53,4) [3.53.0,4) [3.53.0,) [3.53.0,4.0.0) [3.53.0,4.0.0]

没有成功。

有没有办法强制 maven 在 MANIFEST.MF 中设置 pom.xml 文件中定义的特定范围?

太感谢了。

标签: mavenmaven-3manifestmaven-dependency-plugin

解决方案


推荐阅读