0

给定一组开发人员,每个人对各自的(本地)Windows 机器都有以下要求:

  1. 通过 Eclipse、STS 等 IDE 运行 Spring、Hibernate 等项目
  2. 根据需要快速构建、部署、运行、更改、重建和重新部署(一切,最好通过 IDE)Github 上可用的项目

有以下限制/目标:

  1. 个别开发者机器已限制或无法访问 Internet
  2. 开发人员必须从一个位置获取所需的 jar,该位置将存储整个团队所需的 jar
  3. 每当需要时,开发人员必须能够将更新的 jar 从中心位置拉到他的本地环境中,并继续无缝地运行项目
  4. 在 IDE 中,构建一个 Github 项目并运行它(本地)

附上图片,让我清楚地了解我所设想的工作环境!

我已经开始阅读 Maven 但不知所措 - 我应该如何继续?

所需的设置

4

2 回答 2

2

您应该使用内部 Maven 存储库。有诸如NexusArtifactory之类的应用程序(这可能是业务中最接近的数字 1 和 2,只是我的看法)。您可以将其设置为使用您的代理服务器。

它将能够充当您的 Maven 客户端的代理,并保留下载的工件的副本。它们甚至可以让您控制开发人员引入的工件类型(尽管他们可能并不总是喜欢这一点)。

它还能够存储和提供您自己的工件,您的开发人员可以deployrelease)向它提供这些工件。

Maven 擅长依赖管理,这也是大多数组织开始使用它的目的。但随着您的流程成熟,也有机会使用 Maven 进行版本/发布管理。开发人员将为自己构建SNAPSHOT版本,或通过存储库与团队共享这些版本。当他们release制作工件时,他们会在存储库中提供工件的最终版本。

Maven 对你的 IDE 有很好的支持,我自己也经常使用 Eclipse,它有m2e与 Maven 一起工作。

Apache 本身在“为什么我需要一个存储库管理器?'


新工具需要适应,有时需要文化转变。在 Maven 的情况下,许多组织都来自脚本化构建,它可能需要进行范式转换。这听起来有点像你在未来有更多被压垮的风险。我认为这值得您付出努力,但您可能希望获得一些有经验的帮助以使您走上正轨。


更多个人注意事项:完成了那些代理服务器,好吧!

于 2013-09-25T02:27:38.797 回答
1

正如 Sander Verhagen 在另一个答案中所建议的那样,您应该做的是使用存储库代理。Nexus 和 Artifactory 是最著名的一款。在这里,我将简要描述您需要执行的步骤:

  1. 在机器 M 中设置 Nexus
  2. 在 Nexus 中,为 Central 设置一个代理存储库(这应该是开箱即用的),以及您希望开发人员访问的其他存储库。在配置 Repo 代理时,您可能需要添加 http 代理设置。
  3. (可选,但推荐)设置一个包含所有公共存储库代理的存储库组。假设这个代理组的 URL 是http://M/nexus/groups/public
  4. 在开发者的机器上,更新~/.m2/settings.xml,设置http://M/nexus/groups/public为central的镜像。如果您在 Nexus 中创建了其他内部托管存储库,您也可以将它们添加到 settings.xml 中。

就这样。您可以正常使用 Maven。现在将从 M 中的 Nexus 获取依赖项。

于 2013-09-26T09:04:00.967 回答