【发布时间】:2011-08-12 07:59:28
【问题描述】:
我们正在使用 SVN 来存储 maven 依赖项(组织限制不能像现在那样使用 nexus 或 artifactory maven 存储库)。 SVN 在使用 https 协议的网络服务器上运行。目前,如果添加了新的依赖项,所有开发人员都必须手动更新他们的本地 maven repo 副本。有没有办法在 Maven 构建周期本身期间自动下载\更新新依赖项?尝试使用旅行车插件没有帮助。任何帮助将不胜感激。
【问题讨论】:
我们正在使用 SVN 来存储 maven 依赖项(组织限制不能像现在那样使用 nexus 或 artifactory maven 存储库)。 SVN 在使用 https 协议的网络服务器上运行。目前,如果添加了新的依赖项,所有开发人员都必须手动更新他们的本地 maven repo 副本。有没有办法在 Maven 构建周期本身期间自动下载\更新新依赖项?尝试使用旅行车插件没有帮助。任何帮助将不胜感激。
【问题讨论】:
首先尝试尽快获得 Nexus。此外,您正在使用 svn 作为本地用户存储库的替代品。为什么不使用 SVN 作为用户通过 Maven 使用的连接的(临时)替代品。如果您以这种方式配置 Web 服务器,每个人都将通过 Maven 而不是通过 SVN 将依赖项自动下载到 .m2/repository 中。
【讨论】:
您可以使所有开发人员都可以访问共享文件夹,并将 maven 配置为将其用作存储库并创建脚本以在构建时对其进行更新。所以每个机构都会有相同的更新回购。
但你最好强制获得联系......
【讨论】:
我了解您的情况,因为我们处于类似情况。您需要使用的是本地 Maven 存储库管理器 - 我们在本地构建机器上使用 Apache Archiva(它实际上是我们局域网上的一台旧笔记本电脑)。我确信使用 Archiva 还有其他替代方法,但这是我唯一有经验的方法。
安装后,您可能需要让每个人将此存储库添加到他们的 ~/.m2.settings.xml 文件中,并将其标记为所有内容的镜像(这意味着 Maven 构建的每个用户都将前往 Archiva 存储库对于它的所有依赖项(至少,那些未存储在用户计算机上的本地存储库中的)。如果 Archiva 不包含依赖项,则可以将其配置为自行下载,并将其存储在 Archiva 存储库中以供其他用户使用。
(如果您需要更多详细信息,请告诉我,我会在这篇文章中更新更多信息,包括您需要使用的 pom sn-ps 等)
HTH
【讨论】: