如何设置私有的,可远程访问的Maven存储库?

我需要为一些内部公司库设置一个Maven存储库,这些存储库只能由我们的开发人员访问(即安全),但应该可以通过Internet安全地访问。

我熟悉设置公共Maven回购,但不确定设置私有远程可访问回购的最佳方式。

我怎样才能做到这一点?

解决方案是使用Maven Repository Manager,例如Nexus,Artifactory或Archivia。

您在服务器上安装MRM,并使用您要访问它的用户的身份validation详细信息对其进行配置。

您可以在https://oss.sonatype.org以及https://repository.apache.org上看到可公开访问的Nexus实例。因此,在此基础上,假设Nexus中的身份validation可靠且安全是相当安全的。

Artifactory可用作在线托管服务,我们使用它(在线托管服务)进行内部工件托管。

档案馆由一些非常好的人维护,我怀疑他们也很好地锁定了。

如果您想快速启动并且不想管理服务器,我建议您使用Artifactory等托管服务。 我不知道是否有在线Nexus或Archivia托管服务。

现在披露:

  1. JFrog(Artifactory的创建者)是我的雇主的合作伙伴,我们使用Artifactory托管服务
  2. Sonatype(Nexus的创建者)是我雇主的合伙人
  3. 我是Apache Software Foundation(Archivia的创建者)的成员

我不建议您使用哪种 MRM。 但作为Maven提交者和PMC成员,我强烈建议使用MRM。

Amazon S3是最佳解决方案: http : //www.stackoverflow.com/questions/850570/maven-s3-wagon-provider ,因为:

  1. 没有安装程序
  2. 由亚马逊主办,高度可用
  3. Maven通过几辆货车完全支持(见上面的链接)

您可能还会发现本文有用: http : //www.yegor256.com/2015/09/07/maven-repository-amazon-s3.html

自发布此问题以来,我发现了JitPack ,这使得直接从Github创建公共(免费)和私有(廉价)回购非常容易。

您可以使用archiva或nexus将用户名/密码放在服务器上的不同存储库中。 您还可以管理可以部署到这些存储库的人员。

这些可以添加到settings.xml文件中,因此您不必每次都登录。