IDEA引入Gradle工程小記


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM