20

鉴于我的 pom.xml 中的以下存储库 URL,我如何确定存储库中有哪些最新版本的 spring 和 hibernate 可用? http://repo1.maven.org/maven2

4

4 回答 4

23

检索maven-metadata.xml放置在工件目录中的文件,例如https://repo1.maven.org/maven2/com/sun/media/jai_codec/maven-metadata.xml以获得具有 groupIdcom.sun.media和 artifactId的工件jai_codec

<?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>
于 2009-09-03T16:11:02.640 回答
5

以编程方式还是手动?

由于存储库通过 HTTP 工作,您可以手动导航它:

http://repo2.maven.org/maven2/org/springframework/spring/ http://repo2.maven.org/maven2/org/hibernate/hibernate/ http://repo2.maven.org/maven2/org/休眠/休眠核心/

于 2009-09-03T15:19:45.873 回答
2

正如罗伯特的回答所说,存储库中每个工件的 maven-metadata.xml 文件都包含您需要的版本信息。特别注意元数据中的最新发布元素。latest 元素表示要发布的最后一个版本,但这可能不是您想要的版本。例如,它可以是旧版本的维护版本、候选版本或里程碑。发布版本表示打算被视为发布的最后一个发布版本,因此通常您希望使用此版本。

有关信息,Maven 超级 POM有一个特殊的发布配置文件,通过设置performRelease属性激活(例如,通过在命令行上传递 -DperformRelease)。除此之外,激活此属性将设置部署插件的updateReleaseInfo属性,以便在部署时更新元数据。

于 2009-09-06T12:16:36.507 回答
1

根据实际用例是什么,值得一看 http://www.mojohaus.org/versions-maven-plugin/

于 2015-10-22T11:59:36.113 回答