通过命令行列出所有神器版本

时间:2015-11-20 19:20:19

标签: maven command-line

包括安装到〜/ .m2的所有版本,并部署到maven或神器库等神器库。

例如,如果我输入类似这样的东西,请使用make believe命令:

mvn ver:show-all -DartifactId=myProject -DallowSnapshots=true

我希望看到一些输出列表可用版本:

myProject ->
  0.9
  1.0.1
  1.1-branchA-SNAPSHOT
  1.1-branchB-SNAPSHOT
  1.1-branchC-SNAPSHOT

今天是否有maven插件可以执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以做的是看看Maven Repository Metadata Model。它基本上是XML文件,您可以下载和解析。例如,要了解Maven Central下载资料库元数据(可在https://repo1.maven.org/maven2/com/google/inject/guice/maven-metadata.xml中找到)中的所有Google Guice版本,并查看其内容:

<metadata>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <versioning>
    <latest>4.2.2</latest>
    <release>4.2.2</release>
    <versions>
      <version>1.0</version>
      <version>2.0</version>
      <version>2.0-no_aop</version>
      <version>3.0-rc2</version>
      <version>3.0-rc3</version>
      <version>3.0</version>
      <version>4.0-beta</version>
      <version>4.0-beta4</version>
      <version>4.0-beta5</version>
      <version>4.0</version>
      <version>4.1.0</version>
      <version>4.2.0</version>
      <version>4.2.1</version>
      <version>4.2.2</version>
    </versions>
    <lastUpdated>20181029173633</lastUpdated>
  </versioning>
</metadata>

您将看到所有版本!

但是,这并不是100%完整的解决方案:

  • 其他存储库中可能有较新的(其他)版本。例如。如果将JAR从Bintray同步到Maven Central,则Bintray可以包含Central中不可用的JAR。不过,对于Guice,它们似乎是相同的。
  • 可能没有maven-metadata.xml。例如。如果您使用的是JitPack或托管在S3上的存储库。