我需要使用java以编程方式获取存储在maven本地存储库元数据文件(maven-metadata.xml)中的时间戳和构建maven工件的数量(使用GAV坐标)。我知道我可以简单地解析这个文件,但这是一个糟糕的解决方案。有没有人有任何想法?谢谢。
答案 0 :(得分:0)
您所说的时间戳是Maven如何存储快照版本的功能。
例如,如果工件的版本是1.0-SNAPSHOT,则每个人都调用" install"目标将创建由其时间戳引用的唯一工件。这个概念是另一个构建请求版本1.0-SNAPSHOT,Maven将返回与该版本匹配的最后构建的工件。
我不熟悉Maven代码库,但我建议查看解析版本的代码,特别是快照。时间戳可能是可以检索的,但如果它是内部细节,我不会感到惊讶。
最后,我更喜欢将我的构建推送到Maven存储库管理器。我发现Nexus非常轻巧,在笔记本电脑上运行良好。简而言之,Nexus有一个REST API,可用于检索工件详细信息,包括快照时间戳: