从我的pom.xml获取以下存储库URL如何确定存储库中可用的最新版本的spring和hibernate? http://repo1.maven.org/maven2
答案 0 :(得分:14)
检索放置在工件目录中的maven-metadata.xml
文件,例如对于包含groupId com.sun.media
和artifactId jai_codec
的人工制品,我需要http://repo1.maven.org/maven2/com/sun/media/jai_codec/maven-metadata.xml。
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>com.example</groupId>
<artifactId>project</artifactId>
<versioning>
<latest>0.0.5</latest>
<release>0.0.5</release>
<versions>
<version>0.0.3</version>
<version>0.0.4</version>
<version>0.0.5</version>
</versions>
<lastUpdated>20090725212606</lastUpdated>
</versioning>
</metadata>
答案 1 :(得分:5)
以编程方式还是仅手动操作?
由于存储库通过HTTP工作,您可以手动导航:
http://repo2.maven.org/maven2/org/springframework/spring/ http://repo2.maven.org/maven2/org/hibernate/hibernate/ http://repo2.maven.org/maven2/org/hibernate/hibernate-core/
答案 2 :(得分:2)
正如Robert的回答所说,存储库中每个工件的maven-metadata.xml文件都包含您需要的版本信息。请特别注意元数据中的最新和发布元素。最新元素表示要发布的最后一个版本,但这可能不是您想要的版本。例如,它可能是旧版本,候选版本或里程碑的维护版本。发行版本表示最近发布的版本,旨在作为发行版处理,因此通常您需要使用此版本。
有关信息,Maven super POM有一个特殊的发布配置文件配置文件,通过设置 performRelease 属性激活(例如,通过在命令行上传递-DperformRelease) 。除此之外,激活此属性将设置deploy-plugin的 updateReleaseInfo 属性,以便在部署时更新元数据。
答案 3 :(得分:1)
根据实际用例的不同,值得查看http://www.mojohaus.org/versions-maven-plugin/