5

当使用私有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>

仅存在于私有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>

这同样适用于正常的依赖关系,但不适用于父 POM 引用

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

4

2 回答 2

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

于 2017-06-26T20:25:41.650 回答
0

答案是不。

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

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

于 2015-04-30T12:57:14.257 回答