Maven - 一个设置查询

时间:2013-09-24 14:55:43

标签: maven maven-3

鉴于一组开发人员,每个开发人员对相应的(本地)Windows计算机都有以下要求:

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

    1. 各个开发者计算机已限制或无法访问Internet
    2. 开发人员必须从一个位置获取所需的罐子,这些罐子将存储整个团队所需的罐子
    3. 如果需要,开发人员必须能够将更新的jar从中心位置拉到他的本地环境中并继续无缝地运行项目
    4. 在IDE中,构建一个Github项目并运行它(本地)
    5. 附上的图片是为了清楚地了解我正在设想的工作环境!

      我已经开始阅读Maven,但却不知所措 - 我该怎么办?

      Desired set-up

2 个答案:

答案 0 :(得分:2)

您应该使用内部Maven存储库。有NexusArtifactory这样的应用程序(这些可能是业务中的第1和第2位,只是我的意见)。您可以将其设置为使用代理服务器。

它可以作为Maven客户端的代理,并保留下载的工件的副本。它们甚至可以让你控制你的开发人员使用什么样的工件(虽然他们可能并不总是很欣赏)。

它还可以存储和提供您的开发人员可以deployrelease)创建的工件。

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

Maven对你的IDE有很大的支持,我自己经常使用Eclipse,m2e可以使用Maven。

Apache本身在' Why do I need a Repository Manager?'


新工具需要适应,有时需要文化转变。对于Maven来说,许多组织来自脚本化构建,可能需要进行范式转换。这听起来好像你将来有可能再被淹没。我认为值得你付出努力,但是你可能希望得到一些经验丰富的帮助,让你走上正轨。


更多个人说明:完成这些代理服务器,好吧!

答案 1 :(得分:1)

正如Sander Verhagen在另一个答案中所建议的那样,你应该做的是使用存储库代理。 Nexus和Artifactory是最着名的。在这里,我将简要介绍您需要为您寻找的内容所做的步骤:

  1. 在机器M中设置Nexus
  2. 在Nexus中,设置代理存储库到Central(这应该是开箱即用的),以及您希望开发人员访问的其他存储库。配置Repo Proxy时,可能需要添加http代理设置。
  3. (可选,但建议)设置包含所有公共存储库代理的存储库组。假设此代理组的URL为http://M/nexus/groups/public
  4. 在开发人员的机器中,更新〜/ .m2 / settings.xml,将http://M/nexus/groups/public设置为中心镜像。如果您在Nexus中创建了其他内部托管存储库,则也可以在settings.xml中添加它们。
  5. 这就是全部。您可以照常使用Maven。现在将从M的Nexus中获取依赖关系。