如何从maven [重复]

问题描述 投票:0回答:2
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>LATEST</version> </dependency>

一般而言,您不想这样做。 如果新版本中有破坏性的变化或错误,您将卡住确定问题的位置。

maven有两种解决这个问题的方法。 第一个是:
mvn versions:display-dependency-updates
java selenium selenium-webdriver
2个回答
3
投票
这将显示您当前正在使用的库,以及是否有新版本的库。 例如,在一个较旧的项目中,我有一段时间没有接触过:

[INFO] The following dependencies in Dependencies have newer versions: [INFO] com.fasterxml.jackson.core:jackson-databind ......... 2.9.10 -> 2.13.3 [INFO] com.google.code.gson:gson ............................. 2.8.6 -> 2.9.0 [INFO] com.jayway.jsonpath:json-path ......................... 2.5.0 -> 2.7.0 [INFO] commons-io:commons-io ................................ 2.8.0 -> 2.11.0

这向我展示了我需要查看更新的地方。 没有什么可以自动更新的 - 这是您需要手工生成的报告。
第二种方法可能更接近您想要的东西。  Maven可以使用您愿意使用的版本。  作为一个非常一般性的语句,如果您至少不超出主要版本,则大多数库库仍然兼容。  并非总是如此,但是您可以为自己决定这一点。在您的情况下,您可以将依赖性更改为:

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>[4.3,5.0)</version> </dependency>

这告诉Maven使用最小版4.3.0版,但不使用版本5.0及更高版本。  如果4.3.1出现,它将自动使用它。  它不会使用5.0及以上的任何东西。
如果您真的要永远保持升级,那么您会将其更改为:

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>[4.3,)</version> </dependency>

刚刚说的是4.3.0及以上版本。 如果版本5.0出现,它将使用此功能。 零保证版本5.0是兼容的-Maven将盲目地开始使用它。

PluginMetaversion分辨率

您正在使用

Maven2.x,它可以选择最新版本的最新版本,其中最新版本可能是发行版或快照。内部,maven2.x

使用特殊版本标记

RELEASE

LATEST

支持自动插件版本分辨率。 例如一个例子:

0
投票

使用

RELEASE

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>RELEASE</version> </dependency>

使用LATEST

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>LATEST</version> </dependency>

  • 否,

    amaven3.x不再支持对POM中这些元反应的使用。结果,用户将需要用混凝土版本替换这些元元的发生。

    参考
    您可以在以下方式找到一些相关的详细讨论:

  • 如何在pom中自动更新硒版?
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.