Maven 可以从私有 s3 存储桶中引用父 POM 吗?

Ale*_*lex 5 java amazon-s3 maven wagon parent-pom

当使用私有AWS S3 存储桶作为 Maven 存储库时,有很多可用的 s3 wagon 提供程序可以很好地使用 s3://[bucket]/folder 协议部署和拉取依赖项。

但是,当您尝试使用父 POM 引用执行此操作时,即

  <parent>
    <groupId>com.my.company</groupId>
    <artifactId>my-parent-pom</artifactId>
    <version>1.0.0</version>
  </parent>
Run Code Online (Sandbox Code Playgroud)

仅存在于私有S3 Maven 存储库中,似乎 Maven 仅检查基于 HTTP 的定义存储库,而不会尝试查看 S3 存储库。

本项目中的 S3 wagon 定义为

<build>
<extensions>
  <extension>
    <groupId>org.springframework.build</groupId>
    <artifactId>aws-maven</artifactId>
    <version>5.0.0.RELEASE</version>
  </extension>
</extensions>
</build>
Run Code Online (Sandbox Code Playgroud)

这同样适用于普通依赖项,但不适用于父 POM 引用

寻找某种方法在 S3 Maven 存储库中正确解析父 POM

Guy*_*ock 6

根据我对此线程中另一篇文章的评论:如果您使用的是Maven 3.2.5 或更高版本,则可以在命令行上将插件指定为 JAR。

如果您使用的是 Maven 3.3.1 或更高版本,请.mvn/extensions.xml在您的项目中创建一个定义 S3 wagon的文件,以便在解析父 POM 时预加载它。

有关详细信息,请参阅 Maven 的 3.3.1 发行说明:https : //maven.apache.org/docs/3.3.1/release-notes.html


小智 0

答案是不。

Maven 和 S3 存储库的主要问题是 Maven 在 S3 wagon 之前加载父 POM。

检查此处了解详细信息:http://www.sonatype.org/nexus/2015/03/03/why-s3-is-not-the-perfect-maven-repository/