1.首先IDEA要在该工程Settings中配置本地安装的Gradle,配好其home目录,注意目录到根目录便可,不要到bin一级,不然提示错误,没法使用:html
2.配置好后会自动侦测Gradle项目,点击右下角自动引入依赖spring
3.有些依赖没法下载,右上角有提示选项,try again重试,也可点击查看详细日志,基本上是网络不通,由于缓存(cached xxx.jar)不到国外库的相应jar包致使:缓存
4.Gradle默认配置在C盘下该用户下的.gradle目录,默认jar存放地址为C:\Users\(用户名)\.gradle\caches\modules-2\files-2.1,可参考博文https://blog.csdn.net/chwshuang/article/details/52261940手动下载添加到Gradle已生成的对应目录。网络
5.Gradle入门博客:https://www.jianshu.com/p/001abe1d8e95maven
6.Gradle仓库配置:.gradle文件夹下添加脚本:模块化
allprojects{ repositories { def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL." remove repo } } } maven { url REPOSITORY_URL } } }
命名为init.gradle,此为全局远程仓库配置。gradle
每一个项目的build.gradle文件中,可配置多个maven仓库:ui
repositories { mavenCentral() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://repo.spring.io/libs-snapshot' } }
这样能够分别从这几个仓库尝试下载jar包,固然url
io.spring.gradle:spring-build-conventions:0.0.15.RELEASE
这个包不管如何也找不到!spa
本地仓库可配置环境变量GRADLE_USER_HOME,指定一个本地库位置,下载的jar包会存储在这里.
参考博文:https://blog.csdn.net/x_iya/article/details/75040806
http://www.javashuo.com/article/p-eoxirxhu-cg.html
这里支持阿里仓库按artifactId,groupId查询:http://maven.aliyun.com/mvn/search
IDEA默认全局Gradle配置中,有一个巨坑选项:Offline Work--也就是离线工做!!这样是没法引入任何在线依赖的!!只能引入Gradle默认库中已有Jar,很是之坑爹!须要把这个默认勾选掉:
这样Gradle才会默认下载依赖。注意IDEA另外坑比的一点是Gradle支持没有像Maven支持同样能够手动reimport,只能靠它的自动引入,或勾选掉上面图片中的Use auto-import选项后右下角自动出现的手动引入/自动引入选项!
1.IDEA 2017.2版的另一个头痛Bug就是大多数时候引入Maven依赖会无限期进度条等待,没法引入任何在线依赖。解决办法只能是关闭全部项目,再从新打开项目,Mavn-reimport
2.IDEA在引入模块化项目时,须要在Project Structures中调整,每次都是要选中父项目,在父项目下引入子项目模块!
引入正常的模块化项目是在父项目下列出全部子项目模块,而不是与父项目并列!
项目间相互依赖,须要在dependencies中引入项目依赖,也可在出错地方Alt+Enter,自动智能引入。
若是层次不对,须要在关闭全部项目后的小窗口删除这个项目,从头从新引入,Gradle/Maven工程。
3.Dubbo项目,没法引入相关Dubbo/Spring依赖jar,Spring配置文件中的Dubbo Schema命名空间就会报错
4.将模块化工程总体编译防止报错,每一个工程所需log4j.properties须要放在本身工程的resources目录下,放在父工程不行! Web工程中引入Web模块Tomcat,从新编译后也须要整个Web模块删除,在工程中删除Artifacts,从新添加Artifacts(引入module时,下面第二个选项),从新添加Web模块Tomcat,在Web模块中添加本工程Artifacts