根据手册,使用 Maven 3,我们被迫使用uniqueSnapshots=true
. 这意味着每个部署1.0-SNAPSHOT
实际上都由一些唯一的、规范的 ID 支持,例如1.0-20080207-230803-1
.
因此,调用会产生在调用可执行文件mvn deploy
之前无法确定其规范版本的工件。mvn
因此,如果希望对之后生成的唯一 ID 调用任何操作,则必须在完成后尝试从 maven 可执行文件中提取生成的 ID mvn deploy
。
有没有这样的机制来获取唯一ID?
例如,mvn deploy
将产生以下输出:
Uploading: https://oss.sonatype.org/content/repositories/snapshots/io/airlift/slice/0.11-SNAPSHOT/slice-0.11-20150220.165404-2.jar
但似乎没有办法在0.11-20150220.165404-2
不解析 Maven 的输出的情况下访问 ID。
示例场景: mvn build 导致一个新的(唯一的)工件被推送到内部存储库管理器。完成后,我们希望通过 HTTP 推送通知,以通知某个远程应用程序有新的 SNAPSHOT 版本的应用程序。
尽管我们的存储库管理器允许我们查询最新的 SNAPSHOT 版本,但这与能够传递对特定版本的绝对引用不同。