Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Maven依赖项-版本与更新_Maven_Maven Dependency - Fatal编程技术网

Maven依赖项-版本与更新

Maven依赖项-版本与更新,maven,maven-dependency,Maven,Maven Dependency,通常列出每个依赖项的“版本”和“更新” 如果我发布自己的包,如何指定“更新”版本 Maven在解析可传递依赖项时使用了哪些依赖项?所以如果我的包依赖于包A,它依赖于包B的-version=1.0和updates=1.1。我会得到哪个版本的B 我终于明白你的问题了。如果你能从一开始就给我们举个具体的例子,那会很有帮助。您要问的是MVNRepository的“编译依赖项”表的“更新”列中的信息是什么意思 它告诉您是否有特定依赖项的更新版本可用,如果有,最新版本是什么。如果有复选标记,则表示相关库已

通常列出每个依赖项的“版本”和“更新”

  • 如果我发布自己的包,如何指定“更新”版本
  • Maven在解析可传递依赖项时使用了哪些依赖项?所以如果我的包依赖于包A,它依赖于包B的-version=1.0和updates=1.1。我会得到哪个版本的B
    我终于明白你的问题了。如果你能从一开始就给我们举个具体的例子,那会很有帮助。您要问的是MVNRepository的“编译依赖项”表的“更新”列中的信息是什么意思

    它告诉您是否有特定依赖项的更新版本可用,如果有,最新版本是什么。如果有复选标记,则表示相关库已经使用了最新版本的依赖项X。无论最新版本是什么,您都将始终获得已声明的依赖项版本


    因此,如果使用(上面的示例),您还将获得作为可传递依赖项的
    jackson-databind
    2.4.0(上面的第一行)。2.7.1-1将是最新可用的
    jackson数据绑定版本。

    因此您定义为取决于包A(版本?),而包B(版本1.0)因此,如果不在包中覆盖包B,您将获得包B的1.0版本…因此,您在pom文件中定义了依赖项,该文件已签入版本控制,这意味着在更改pom文件之前,该文件不会更改…我可能误解了这个问题吗?如果您想更新,您需要更改软件包A的版本(不同版本)…您在说什么“更新”?例如,你在哪里看到“更新”?@MarcelStör:jackson-databind是版本2.4.0,更新2.7.1-1@khmarbaise:A依赖于B上的版本1.0,这是正确的。但在Marcel的例子中,Valdr Bean依赖于jackson数据绑定。如果我包括Valdr Bean,我什么时候能得到jackson databind 2.4.0,什么时候能得到版本2.7.1-1?@EugeneMi你还需要什么反馈吗?如果不是,我建议你考虑接受答案,这样就可以把这个问题标记为“关闭”。我注意到,在某些情况下,“更新”版本实际上比“版本”版本要大。e、 g.“版本:2.5.0-b42;更新:2.4.0”。令人困惑。是的,“更新”列的示例版本比“版本”列的版本旧。我猜“更新”栏的版本是原始库需要的版本。另一个问题是关于复选标记。上述解释并不清楚。在“版本栏”是最新版本且原始库需要该版本的情况下,是否存在复选标记?@andy dufresne Re:“版本:2.5.0-b42;更新:2.4.0”:根据Maven标准(即比较版本号的方式),2.5.0-b42不是一般可用的版本,而是alpha、beta或RC类型之一。这就是为什么它认为2.4.0是最新的通用版本。在这方面,它可能还不够聪明;我想这是主观的。复选标记只是意味着(同样根据Maven的版本算法)最新的通用版本是在项目POM->project正在使用最新版本中声明的版本。如果我想使用可传递依赖项的更新版本,我如何在POM.xml中配置