确定Maven提供的依赖项

时间:2014-10-20 02:12:04

标签: maven

我继承了一些maven项目,这些项目添加了一个/dependencies目录来捕获Java jar库,这些库不是项目大战的一部分,必须由DevOps安装到Tomcat安装中

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

  1. "设置"范围库,
  2. 提供的库的下游依赖项,以及
  3. api jar的可发现实现
  4. "神秘"库,即在外部存储库中不可用,并且可能不确定它们来自何处。
  5. 是否有策略让Maven帮助管理这些依赖项,并可能将它们用于外部安装?

1 个答案:

答案 0 :(得分:0)

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

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

"神秘"对于使用它的新人来说,构建的一部分可能不是一个问题。

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

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

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

显然,您可以记录并简化这些库的管理。我还假设如果你更新它们中的一些,那么跨分支更容易合并,因为周围没有二进制文件。所以这可能是值得的。