Maven Archetype 项目存储库问题

Posted

技术标签:

【中文标题】Maven Archetype 项目存储库问题【英文标题】:Maven Archetype project repository issue 【发布时间】:2020-09-13 05:21:08 【问题描述】:

我已经从我现有的示例项目中创建了一个 Maven 原型项目。我将该 jar 文件发布到位于 https://maven.anypoint.mulesoft.com/api/v1/organizations/orgid/maven 的存储库中。 当我尝试通过运行命令创建项目时 mvn archetype:generate 给出错误,说它无法在https://repo.maven.apache.org/maven2 存储库中找到原型。 我没有在 maven settings.xml 文件中配置 repo.maven.apache.org。我应该对 settings.xml 进行哪些更改,以便它可以在 maven.anypoint.mulesoft.com 存储库中引用所需的存储库。我还在 settings.xml 文件中配置了镜像

<mirror>
   <id>mirrorId</id>
   <mirrorOf>central</mirrorOf>
   <name>mule repo exchange</name>
   <url>https://maven.anypoint.mulesoft.com/api/v1/organizations/orgid/maven</url>
</mirror>

当我配置这个镜像选项时,它给出了错误 - 在当前项目中没有找到前缀“原型”的插件

任何帮助表示赞赏

【问题讨论】:

【参考方案1】:

Anypoint Exchange 提供Maven facade feature 以便能够发布某些类型的 MuleSoft 工件。它不打算成为一个完整的 Maven 存储库以供一般使用。根据documentation,目前支持以下类型的对象:

连接器 骡子应用程序 示例 模板 政策

您必须使用自己的存储库来处理此类事情。

【讨论】:

【参考方案2】:

如果您已成功部署原型,则使用原型存储库将 Maven 配置文件添加到您的设置中:

<profiles>
    <profile>
      <id>my-archetype-repository</id>
      <repositories>
        <repository>
          <id>archetype</id>
          <name>Mule Repository</name>
          <url>https://maven.anypoint.mulesoft.com/api/v1/organizations/<YOUR_ORG_ID>/maven</url>
          <releases>
            <enabled>true</enabled>
            <checksumPolicy>fail</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <checksumPolicy>warn</checksumPolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>

然后使用该配置文件运行您的原型:

mvn archetype:generate -Pmy-archetype-repository

并且不要忘记使用您的“原型”凭据添加服务器。

【讨论】:

以上是关于Maven Archetype 项目存储库问题的主要内容,如果未能解决你的问题,请参考以下文章

部署原型工件时,Nexus Maven 原型存储库未更新

如何解决maven archetype加载太慢的方法

Jersey 2.x 从Maven Archetype 创建一个新项目

新建maven工程时报错:无法下载maven-archetype-quickstart

maven 在我的存储库中找不到原型

解决创建maven项目Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart问题(示例代码