1.首先IDEA要在該工程Settings中配置本地安裝的Gradle,配好其home目錄,注意目錄到根目錄即可,不要到bin一級,否則提示錯誤,無法使用:
2.配置好后會自動偵測Gradle項目,點擊右下角自動引入依賴
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/001abe1d8e95
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,此為全局遠程倉庫配置。
每個項目的build.gradle文件中,可配置多個maven倉庫:
repositories { mavenCentral() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://repo.spring.io/libs-snapshot' } }
這樣可以分別從這幾個倉庫嘗試下載jar包,當然
io.spring.gradle:spring-build-conventions:0.0.15.RELEASE
這個包無論如何也找不到!
本地倉庫可配置環境變量GRADLE_USER_HOME,指定一個本地庫位置,下載的jar包會存儲在這里.
參考博文:https://blog.csdn.net/x_iya/article/details/75040806
https://www.cnblogs.com/dwb91/p/6523541.html
這里支持阿里倉庫按artifactId,groupId查詢:http://maven.aliyun.com/mvn/search
巨坑提示
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,自動智能引入。
如果層次不對,需要在關閉所有項目后的小窗口刪除這個項目,從頭重新引入,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