jwa*_*jwa 5 maven maven-deploy-plugin
根据手册,在 Maven 3 中,我们被迫使用uniqueSnapshots=true. 这意味着每个部署1.0-SNAPSHOT实际上都由一些唯一的、规范的 ID 支持,例如1.0-20080207-230803-1.
因此,调用mvn deploy会产生在mvn调用可执行文件之前无法确定规范版本的工件。
因此,如果希望对之后生成的唯一 ID 调用任何操作,则必须尝试在mvn deploy完成后从 Maven 可执行文件中提取生成的 ID 。
有没有这样的机制来获取唯一ID?
例如,mvn deploy将产生以下输出:
Uploading: https://oss.sonatype.org/content/repositories/snapshots/io/airlift/slice/0.11-SNAPSHOT/slice-0.11-20150220.165404-2.jar
Run Code Online (Sandbox Code Playgroud)
但是如果0.11-20150220.165404-2不解析 Maven 的输出,似乎没有办法访问 ID 。
示例场景: mvn build 导致一个新的(唯一的)工件被推送到内部存储库管理器。完成后,我们希望通过 HTTP 推送通知以通知某个远程应用程序新的 SNAPSHOT 版本的应用程序。
虽然我们的资源库管理使我们能够查询最新的快照版本,这是不一样的能够通过周围绝对引用到特定版本。
maven-deploy-plugin 不会将部署时间戳存储在系统属性中。
如果您想查看源代码(并且可能提出增强请求),则此部署时间戳是通过项目的org.apache.maven.artifact.transform.SnapshotTransformation方法在类中计算的。getDeploymentTimestampmaven-artifact-manager
已部署工件的最终版本在方法 中计算construcVersion:SNAPSHOT被 替换timestamp-buildNumber,其中timestamp是 的结果getDeploymentTimestamp,buildNumber是增量。
应该可以用 ; 存储这个构造版本System.setProperty("something", version)。然后在pom.xmlwith中访问它${something}。
| 归档时间: |
|
| 查看次数: |
824 次 |
| 最近记录: |