将Gradle缓存的jar包转移到maven本地仓库
Gradle构建工具
gradle可以通过指定仓库地址为本地maven仓库地址和远程仓库地址相结合的方式,避免每次都会去远程仓库下载依赖库。这种方式也有一定的问题,如果本地maven仓库有这个依赖,就会从直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。但是下载的jar不是存储在本地maven仓库中,而是放在自己的缓存目录中。一般默认为 'gradle安装目录/caches/modules-2/files-2.1'.
可以创建一个gradle的tasks将jar包从gradle的缓存目录转移到maven本地仓库,具体操作如下:
在build.gradle中添加一个task,具体代码如下,绿色部分替换为具体路径
task cacheToLocalMavenRepository(type: Copy) { from new File('gradle安装目录/caches/modules-2/files-2.1') into 'maven本地仓库目录' eachFile { List<String> parts = it.path.split('/') it.path = (parts[0]+ '/' + parts[1]).replace('.','/') + '/' + parts[2] + '/' + parts[4] } includeEmptyDirs false }
执行该task,执行完成后可以发现jar包添加至了本地仓库。