确定Maven提供的依赖项

确定Maven提供的依赖项,maven,Maven,我继承了一些maven项目,它们添加了一个/dependencies目录来捕获Java jar库,这些库不是项目war的一部分,必须由DevOps安装到Tomcat安装中 此目录中的库似乎分为四类: 提供了范围库, 提供的库的下游依赖关系,以及 api JAR的可发现实现 神秘库,即外部存储库中不可用,并且可能不确定它们来自何处。 是否有一种策略可以让Maven帮助管理这些依赖项,并可能获取它们进行外部安装?可能有几种策略可供选择 第一:保持原样。如果它可以工作,并且构建可以在不同的环境中复制,

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

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

提供了范围库, 提供的库的下游依赖关系,以及 api JAR的可发现实现 神秘库,即外部存储库中不可用,并且可能不确定它们来自何处。
是否有一种策略可以让Maven帮助管理这些依赖项,并可能获取它们进行外部安装?

可能有几种策略可供选择

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

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

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

然后,我将使用汇编插件或一些ant任务来构建要交付的zip。因此,基础架构团队能够将文件解压缩/复制到需要的位置。这个步骤甚至可以编写脚本,这样上传/解压就可以通过SSH或类似的方式完成

这可能只是一种方法。我认为解决/dependencies目录中的jar可能有点麻烦

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