我对Maven快照的含义以及我们为什么要构建一个有点困惑?
网友回答:
其他三个答案为您提供了版本是什么的良好愿景。我只是想添加一些有关 Maven 找到依赖项时的行为的信息。-SNAPSHOT
SNAPSHOT
构建应用程序时,Maven 将在本地存储库中搜索依赖项。如果在那里找不到稳定版本,它将搜索远程存储库(在 或 中定义)以检索此依赖项。然后,它会将其复制到本地存储库中,以使其可用于下一个构建。settings.xml
pom.xml
例如,一个库被认为是一个稳定版本,如果 Maven 在本地存储库中找到它,它将在当前构建中使用这个库。foo-1.0.jar
现在,如果您需要一个库,Maven 会知道此版本不稳定并且可能会发生变化。这就是为什么Maven会尝试在远程存储库中查找较新版本的原因,即使在本地存储库中找到了此库的版本。但是,此检查每天仅进行一次。这意味着,如果您的本地仓库中有一个(即此库已在 2011/05/06 11:00:00 生成),并且如果您在同一天再次运行 Maven 构建,Maven 将不会检查仓库是否有更新的版本。foo-1.0-SNAPSHOT.jar
foo-1.0-20110506.110000-1.jar
Maven 为您提供了一种在存储库定义中更改此更新策略的方法:
<repository>
<id>foo-repository</id>
<url>...</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>XXX</updatePolicy>
</snapshots>
</repository>
哪里可以:XXX
SNAPSHOT
(设置模型.xml可以在这里找到)
网友回答:
Maven 中的快照版本是尚未发布的版本。
这个想法是,在发布(或任何其他版本)完成之前,存在一个 .那个版本可能会变成.它基本上是“正在开发中”。这可能接近真实版本,或者相当远(例如,在发布之后)。1.0
1.0-SNAPSHOT
1.0
1.0
1.0
0.9
“真实”版本和快照版本之间的区别在于快照可能会获得更新。这意味着今天下载可能会提供与昨天或明天下载不同的文件。1.0-SNAPSHOT
通常,快照依赖项应仅在开发期间存在,并且任何已发布版本(即没有非快照)都不应依赖于快照版本。
网友回答:
“快照”术语意味着构建是给定时间代码的快照。
这通常意味着这个版本仍在大量开发中。
当代码准备就绪并且需要发布它时,您将需要更改 POM 中列出的版本。然后,您可以使用“1.0”之类的标签,而不是“快照”。
有关版本控制的一些帮助,请查看语义版本控制规范。
模板简介:该模板名称为【究竟什么是Maven快照,为什么我们需要它?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Java】栏目查找您需要的精美模板。