IDEA引⼊Gradle⼯程⼩记
1.⾸先IDEA要在该⼯程Settings中配置本地安装的Gradle,配好其home⽬录,注意⽬录到根⽬录即可,不要到bin⼀级,否则提⽰错误,⽆法使⽤:
2.配置好后会⾃动侦测Gradle项⽬,点击右下⾓⾃动引⼊依赖
3.有些依赖⽆法下载,右上⾓有提⽰选项,try again重试,也可点击查看详细⽇志,基本上是⽹络不通,因为缓存(cached xxx.jar)不到国外库的相应jar包导致:
6.Gradle仓库配置:.gradle⽂件夹下添加脚本:
allprojects{
repositories {
def REPOSITORY_URL = 'maven.aliyun/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = String()
if (url.startsWith('/maven2') || url.startsWith('jcenter.bintray/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}
命名为adle,此为全局远程仓库配置。
每个项⽬的adle⽂件中,可配置多个maven仓库:
repositories {
mavenCentral()
maven { url 'maven.aliyun/nexus/content/groups/public/' }
maven { url 'repo.spring.io/libs-snapshot' }
}
这样可以分别从这⼏个仓库尝试下载jar包,当然
adle:spring-build-conventions:0.0.15.RELEASE
这个包⽆论如何也不到!
本地仓库可配置环境变量GRADLE_USER_HOME,指定⼀个本地库位置,下载的jar包会存储在这⾥.
巨坑提⽰
IDEA默认全局Gradle配置中,有⼀个巨坑选项:Offline Work--也就是离线⼯作!!这样是⽆法引⼊任何在线依赖的!!只能引⼊Gradle默认库中已有Jar,⾮常之坑爹!需要把这个默认勾选掉:
这样Gradle才会默认下载依赖。注意IDEA另外坑⽐的⼀点是Gradle⽀持没有像Maven⽀持⼀样可以⼿动reimport,只能靠它的⾃动引⼊,或勾选掉上⾯图⽚中的Use auto-import选项后右下⾓⾃动出现的⼿动引⼊/⾃动引⼊选项!
关于IDEA引⼊项⽬
1.IDEA 2017.2版的另外⼀个头痛Bug就是⼤多数时候引⼊Maven依赖会⽆限期进度条等待,⽆法引⼊任何在线依赖。解决办法只能是关闭所有项⽬,再重新打开项⽬,Mavn-reimport
2.IDEA在引⼊模块化项⽬时,需要在Project Structures中调整,每次都是要选中⽗项⽬,在⽗项⽬下引⼊⼦项⽬模块!
引⼊正常的模块化项⽬是在⽗项⽬下列出所有⼦项⽬模块,⽽不是与⽗项⽬并列!
项⽬间相互依赖,需要在dependencies中引⼊项⽬依赖,也可在出错地⽅Alt+Enter,⾃动智能引⼊。如何配置maven环境变量
如果层次不对,需要在关闭所有项⽬后的⼩窗⼝删除这个项⽬,从头重新引⼊,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