Java 如何告诉Maven使用最新版本的依赖项?
在Maven中,依赖关系通常是这样设置的:
<dependency> <groupId>wonderful-inc</groupId>
<artifactId>dream-library</artifactId>
<version>1.2.3</version>
</dependency>
现在,如果你正在使用发布频繁的库,则不断更新<version>
标记可能会有些烦人。有什么方法可以告诉Maven
始终使用最新的可用版本(来自存储库)?
回答:
有关更多详细信息,请参见Maven书籍的POM语法部分。或者在Dependency Version Ranges上查看此文档,其中:
- 方括号([&])表示“封闭”(含)。
- 括号((&))表示“开放”(排除)。
这是说明各种选项的示例。在Maven存储库中,com.foo:my-foo具有以下元数据:
<?xml version="1.0" encoding="UTF-8"?><metadata> <groupId>com.foo</groupId>
<artifactId>my-foo</artifactId>
<version>2.0.0</version>
<versioning>
<release>1.1.1</release>
<versions>
<version>1.0</version>
<version>1.0.1</version>
<version>1.1</version>
<version>1.1.1</version>
<version>2.0.0</version>
</versions>
<lastUpdated>20090722140000</lastUpdated>
</versioning>
</metadata>
如果需要依赖于该工件,则可以使用以下选项(当然可以指定其他版本范围,仅在此处显示相关的范围):
声明一个确切的版本(将始终解析为1.0.1):
<version>[1.0.1]</version>
声明一个明确的版本(除非发生冲突,否则当Maven选择一个匹配的版本时,它将始终解析为1.0.1):
<version>1.0.1</version>
声明所有1.x的版本范围(当前将解析为1.1.1):
<version>[1.0.0,2.0.0)</version>
声明一个开放式版本范围(将解析为2.0.0):
<version>[1.0.0,)</version>
将版本声明为最新(将解析为2.0.0)(从Maven 3.x中删除)
<version>LATEST</version>
将版本声明为RELEASE(将解析为1.1.1)(从Maven 3.x中删除):
<version>RELEASE</version>
请注意,默认情况下,你自己的部署将更新Maven元数据中的“最新”条目,但是要更新“发布”条目,你需要从Maven超级POM激活“发布配置文件” 。你可以使用“ -Prelease-profile”或“ -DperformRelease = true”来执行此操作
以上是 Java 如何告诉Maven使用最新版本的依赖项? 的全部内容, 来源链接: utcz.com/qa/432433.html