Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mvn依赖项使用不同JAR的相同版本_Java_Maven - Fatal编程技术网

Java mvn依赖项使用不同JAR的相同版本

Java mvn依赖项使用不同JAR的相同版本,java,maven,Java,Maven,我创建了一个私人图书馆,并将其包含在我的一些项目中。该库称为处理器。 这个库是使用maven在私有工件库上部署的 每次使用现有版本号部署库时,它都会添加一个新的jar,并在末尾添加一个增量号 例如,这里是my.m2/repository/my domain/processor的内容: 我曾经用processor-1.4-4.jar构建过我的应用程序,但现在版本是1.4-12.jar。我希望maven能够识别出他们的是单个库的多个jar,并获取最新的jar 我所尝试的: 再同步依赖 mvn清洁

我创建了一个私人图书馆,并将其包含在我的一些项目中。该库称为
处理器
。
这个库是使用maven在私有工件库上部署的

每次使用现有版本号部署库时,它都会添加一个新的jar,并在末尾添加一个增量号

例如,这里是my
.m2/repository/my domain/processor的内容:

我曾经用
processor-1.4-4.jar
构建过我的应用程序,但现在版本是
1.4-12.jar
。我希望maven能够识别出他们的是单个库的多个jar,并获取最新的jar

我所尝试的:

  • 再同步依赖
  • mvn清洁
  • mvn包
  • mvn编译
  • mvn安装
  • 重建项目
但是它总是使用
1.4-4
jar,而不是
1.4-12
1

这是告诉maven获取最新罐子的一种方式吗? 还是使用同一版本多次部署是错误的


感谢您的帮助。

根据您的描述,您构建了一个版本为
1.4-SNAPSHOT
的jar。这是一个开发版本,您可以从中部署任意数量的组件。每个新部署都以新的时间戳存储在Artifactory中


当您在项目中添加引用
1.4-SNAPSHOT
的依赖项时,您将在Artifactory中获得这些版本中的最新版本(除非您在本地构建新版本)。

由于@JF Meier对


解决方案是
mvn包-U
+重新导入maven依赖项。

删除和重新导入依赖项可以解决问题,但我现在想知道它们是否是处理此问题的更好方法,以及/或者是否是一种不好的做法。谢谢。添加的日期意味着它是快照版本,而不是稳定版本。稳定的发布可以通过maven发布插件来执行,也可以通过在pom.xml中上传一个没有-snapshot的处理器jar版本来执行。实际上,我在执行
mvn包时得到了1.4-snapshot的版本“4”,这不是最新版本。最新的时间戳是
1.4-SNAPSHOT
的版本“12”。事实上,我知道这是一个开发版本,它的目的是因为库仍处于alpha阶段。
mvn package-U
+重新导入maven依赖项是我的窍门。谢谢