Hello我是马哥
因为我本地开发,既需要gradle也需要maven,所以对这两个本地仓库做了不同的目录区分,由此有了以下的总结:
-
Gradle:
-
mavenLocal(),下载顺序是:
USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository
,这里下载的是gradle项目jar包:例如:我本地有一个dz-backstage-client的gradle项目,这个项目通过publishToMavenLocal就会打成:dz-backstage-client-6.1.2-SNAPSHOT.jar- mavenLocal的下载目录修改方式:path添加M2_HOME变量,
M2_HOME:D:\Development\apache-maven-3.6.2
,此时,系统会去找:M2_HOME/conf/settings.xml,这里就是我的本地maven配置的settings,其中指定了localRepository是gradle_local_repository;
- mavenLocal的下载目录修改方式:path添加M2_HOME变量,
-
GRADLE_USER_HOME:这个配置的是gradle缓存目录,指的是:
.gradle/caches
等目录,这里下载的是项目需要依赖的jar包,例如:spring-boot-2.0.8.RELEASE.jar -
综上:gradle要更改本地仓库目录,需要配置4处
- M2_HOME:指定maven安装目录,同时修改settings.xml指定localRepository到**
gradle_local_repository
**
2. GRADLE_USER_HOME:指定**gradle_local_repository
**
3. GRADLE_HOME:指定gradle安装目录
4. IDEA设置default settings和项目settings,指定Service directory path(这个默认是.m2/repository):gradle_local_repository
- M2_HOME:指定maven安装目录,同时修改settings.xml指定localRepository到**
-
-
Maven
- 在path配置maven安装目录,settings指定localRepository
2. IDEA的default settings和项目settings设置maven
- 在path配置maven安装目录,settings指定localRepository
最后总结:
- 只需在path配置GRADLE_HOME,GRADLE_USER_HOME,M2_HOME,以及在path后面指定maven安装目录.
- 在IDEA的default settings和项目settings配置maven目录本地仓库目录:maven_local_repository和gradle目录:gradle_local_repository
- 在IDEAdefault settings的gradle中,将Offline work取消勾选,不然如果用gradle如果引入了新的依赖,是不能联网下载的.
- 最终可以保证:不管是maven项目还是gradle项目,jar包都是下载到本地仓库不会到.m2或者.gradle中