为企业环境设置内部Maven存储库

时间:2014-09-18 15:43:40

标签: spring maven gradle

首先,我是新手来构建自动化和依赖管理工具,所以请放轻松我!

我目前正在使用以下资产开展概念验证项目:

  • Spring Framework 4.0.6
  • Spring Security 3.2.4
  • Spring LDAP 2.0.2
  • Spring Batch 3.0.1
  • Spring Security 3.2.4
  • Thymeleaf 2.1.3
  • 服务器是JBoss AS 7.2(EAP技术预览版)

起初我通过从mvnrepository.com手动下载所有JAR来启动项目,但过了一段时间后,我自己管理所有传递依赖变得非常复杂和压倒性,所以这里出现了概念验证的下一个要求:构建自动化和依赖管理工具。

我在公司环境中工作,因此连接到互联网以始终下载依赖项不是一种选择。我们必须有内部的东西,然后整个企业的开发人员将从中获得它们的依赖。

我们尚未在Maven或Gradle之间建立我们的选择。我们的目标是使用它们然后选择我们喜欢的那个。我知道Gradle使用/支持Maven存储库,这就是为什么我添加了Gradle标记以便让Gradle用户注意。

所以,我想知道如何在没有像Archiva或Artifactory这样的存储库管理器的情况下设置内部maven存储库。我公司环境中使用的每一项资产都必须经过严格的审批流程,因此我真的希望节省一些时间,专注于Spring和Maven或Gradle。

我的概念证明必须在Windows环境中运行,所以我的第一个想法是让它在具有HTTP功能的Windows服务器上运行(IIS?)。在我的pom.xml / build.gradle中,我可以指向该存储库而不是Maven Central。

基本上,我需要在我的内部存储库中克隆Maven Central结构,以获取与上面列出的资产相关的所有内容。然后,我会将一些内部库,转换为Maven或Gradle项目,然后将它们发布到同一个库中。

我尝试启动一个简单的Maven项目,然后添加Spring依赖项,然后是 mvn compile 命令,但我必须承认我发现很难找出我需要的依赖项/文件夹从本地驱动器上的.m2 / repository文件夹获取。 Maven似乎将自己的依赖项放在该文件夹中,因此我不想在我的内部存储库中无用地使用它们。可能有更好的方法来实现我的目标。

非常感谢您的帮助和指导。

谢谢

查尔斯

1 个答案:

答案 0 :(得分:1)

您的.m2/repository文件夹 是Maven存储库。如果您只是编写概念证明,那么您可以坚持使用本地Maven缓存。它不会从Maven Central下载任何东西,除非它遇到它无法在缓存仓库中找到的依赖。

如果您拥有可共享存储库非常重要,但它仅用于测试/评估目的,那么您甚至可以将该缓存存储库复制到共享驱动器或其他内容并在您的存储库中声明存储库pom.xml使用file://网址。