1 需求描述

需要把一个maven项目依赖的所有jar包,和各jar中在仓库中的同级目录下所有的文件, 和相应的各jar包在仓库内各级的父级目录,复制到另一路径下。
上述需求作用:对复制到另一个路径下的文件夹,相当于当前maven项目依赖的所有的jar包都存在、且文件数目最小的一个本地仓库。
举个例子:在内网开发环境中,且希望能maven管理java项目依赖。且希望每次从外网中仅复制某个项目所有的jar包都存在、且文件数目最小的一个本地仓库。我们把这个本地仓库文件夹复制到内网中,即可以实现使用maven来管理java项目的依赖。因为文件数目足够小。使用U盘复制起来比较便捷一些。

2 具体实现

2-1 一是修改maven的配置文件。

修改maven的配置文件。配置文件路径一般为apache-maven-x.y.z-binconfsettings.xml。 需要修改下面的标签:
<localRepository>YOUR_OTHER_REPOSITORY_PATH</localRepository>
修改localRepository为另一个目录,并远程重新下载当前maven项目所有的依赖到修改后的本地仓库路径。下载完毕后,修改后的本地仓库路径即是当前项目所需要的jar包数量最小的本地仓库。

2-2 二是手工编程来实现。

思路:通过maven命令,比如:mvn dependency:tree,获取依赖关系,并通过编程来创建一个项目的jar包最小的本地仓库。
方法二这里仅提一下这个思路,大家伙感兴趣可以试试。我更倾向于使用方法一实现。


楚知行
18 声望4 粉丝