2014-10-20 130 views
0

我已经继承了一些maven项目,它们添加了一个/dependencies目录来捕获不属于项目战争并且必须由DevOps安装到Tomcat安装中的Java jar库。确定Maven提供的依赖关系

此目录中的库似乎分为四类:

  1. “设置”范围库,
  2. 那些提供的库的下游的依赖关系,并
  3. API罐子的发现实现
  4. “神秘”图书馆,即在外部存储库中不可用,并且可能不确定他们来自哪里。

是否有一种策略让Maven帮助管理这些依赖关系,并且可能将它们提取为外部安装?

回答

0

可能有几种策略可供选择。

第一:保持原样。如果它有效并且构建可重现(在不同的环境中),这似乎是一种有效的解决方案。

对于使用它的新人来说,构建的“神秘”部分可能不是什么问题。

我认为创建一个自己的maven模块以交付给基础架构团队是有效的。该模块可以包含/dependencies文件夹中的罐子。 你需要做的是创建一个pom.xml并添加当前目录中的所有依赖项(当然不是可传递的依赖项)。神奇的需要进入资源库代理(nexus,artifactory,...)。如果你还没有Maven仓库:你想要一个! (它很容易设置,它确实有很大的帮助!)

然后我会使用程序集插件或一些ant任务来构建压缩文件。因此,基础架构团队只需将文件解压缩/复制到需要的位置即可。这一步甚至可以编写脚本(所以上传/解压缩通过SSH或类似的东西来完成)。

这可能只是一种方法。我会假设解决在/ dependencies目录中的jar可能有点痛苦。

这样做的好处显而易见,您可以记录并简化这些库的管理。我也会假设你更新了一些分支,因为没有二进制文件,所以分支合并更容易。所以这可能是值得的。