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 项目存储库问题的主要内容,如果未能解决你的问题,请参考以下文章
Jersey 2.x 从Maven Archetype 创建一个新项目
新建maven工程时报错:无法下载maven-archetype-quickstart
解决创建maven项目Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart问题(示例代码