将 Maven 插件放入 nexus 仓库
Put Maven plugins in nexus repository
我想用 Nexus 设置一个 Maven 存储库,它没有连接到 Maven Central(由于公司政策)。
现在 Maven 在我启动时尝试下载很多插件:所有下载都失败,因为我没有连接到 Maven 中心。
是否可以将插件放入我的 Nexus 存储库或使用一组合理的插件安装 Maven?
感觉你的需求不一致:Nexus是镜像。 Maven 中央是面子。 Nexus 内容是反射。你想要没有脸的倒影。那是不可能的。
但答案必须是肯定的。我提供两种选择。
实用:
- 将 Maven 中央插入 Nexus(将面部添加到镜像)
- 构建应用程序:它将为 Nexus 提供插件(捕获反射)
- 拔掉 Maven 中心
科学的:
- 致电
mvn dependency:resolve-plugins
。您应该会收到几条消息,例如
[WARNING] The POM for
org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is missing, no
dependency information available
- 添加插件工件到 Nexus(如前所述,这不是问题)
- 重复步骤 1 直到所有插件都被解析
如果您想拥有一个手动管理和配置的存储库,您必须先配置所需的依赖项和插件。
您可以例如用我的 Maven Repository Provisioner 来做。
或者您可以通过 运行 一组连接到中央存储库的构建来提供 Nexus 存储库,然后在代理需要的任何内容后将其离线。
另一个更好的解决方案是使用 policy-based 方法并使用 Nexus Firewall.
您可能还对手动配置方法的问题感兴趣。我在 http://blog.sonatype.com/2013/10/golden-repository/
上写了这篇博客
无论哪种情况,您都必须设置和配置您的 Maven settings.xml,这样您的插件和项目的依赖关系就不会混淆。
别忘了,Maven 依赖于插件、插件依赖项和项目依赖项的存储库。所有这些都必须可用。
我想用 Nexus 设置一个 Maven 存储库,它没有连接到 Maven Central(由于公司政策)。
现在 Maven 在我启动时尝试下载很多插件:所有下载都失败,因为我没有连接到 Maven 中心。
是否可以将插件放入我的 Nexus 存储库或使用一组合理的插件安装 Maven?
感觉你的需求不一致:Nexus是镜像。 Maven 中央是面子。 Nexus 内容是反射。你想要没有脸的倒影。那是不可能的。
但答案必须是肯定的。我提供两种选择。
实用:
- 将 Maven 中央插入 Nexus(将面部添加到镜像)
- 构建应用程序:它将为 Nexus 提供插件(捕获反射)
- 拔掉 Maven 中心
科学的:
- 致电
mvn dependency:resolve-plugins
。您应该会收到几条消息,例如
[WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is missing, no dependency information available
- 添加插件工件到 Nexus(如前所述,这不是问题)
- 重复步骤 1 直到所有插件都被解析
如果您想拥有一个手动管理和配置的存储库,您必须先配置所需的依赖项和插件。
您可以例如用我的 Maven Repository Provisioner 来做。
或者您可以通过 运行 一组连接到中央存储库的构建来提供 Nexus 存储库,然后在代理需要的任何内容后将其离线。
另一个更好的解决方案是使用 policy-based 方法并使用 Nexus Firewall.
您可能还对手动配置方法的问题感兴趣。我在 http://blog.sonatype.com/2013/10/golden-repository/
上写了这篇博客无论哪种情况,您都必须设置和配置您的 Maven settings.xml,这样您的插件和项目的依赖关系就不会混淆。
别忘了,Maven 依赖于插件、插件依赖项和项目依赖项的存储库。所有这些都必须可用。