本次導入 Spring 源碼的相關版本爲:
一、下載並安裝 Git 或者下載安裝 GitHub
二、通過 Git 或 GitHub 下載源碼
三、下載安裝 Gradle
四、構建 spring-oxm
四、將 Spring 項目導入 IDEA 中
五、可能出現的問題
版本問題,JDK 需要使用 1.8 ,如果是1.7及以下,則無法完成編譯。
Gradle 的版本不清楚,建議使用的 Gradle 版本爲 5.2。
會出現如圖 2-1 中所示的報錯。需要修改 build.gradle 文件,
buildscript { repositories { maven { url "https://repo.spring.io/plugins-release" } // 這行是新增加的 maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE") classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16") } }
// 3rd party plugin repositories can be configured in settings.gradle plugins { id "io.spring.dependency-management" version "1.0.7.RELEASE" apply false id "org.jetbrains.kotlin.jvm" version "1.3.31" apply false // 從原來的 0.9.18 修改爲 0.9.15 id "org.jetbrains.dokka" version "0.9.15" id "org.asciidoctor.convert" version "1.5.8" }
configurations.all { // Check for updates every build resolutionStrategy.cacheChangingModulesFor 0, "seconds" // Consistent slf4j version (e.g. clashes between slf4j versions) // 這一段直接註釋掉 // resolutionStrategy.eachDependency { DependencyResolveDetails details -> // if (details.requested.group == "org.slf4j") { // details.useVersion slf4jVersion // } // } }
repositories { maven { url "https://repo.spring.io/libs-release" } maven { url "https://repo.spring.io/snapshot" } // Reactor maven { url "https://oss.jfrog.org/artifactory/libs-snapshot" } // RSocket // 新增倉庫依賴 maven { url "https://plugins.gradle.org/m2/" } mavenLocal() }
在 IDEA 的 Settings 中將 Gradle 版本修改爲 4.7 版本。
注:網上的各類 Spring 項目導入的教程很多,按着一步一步做也有構建不成功的情況,上述操作中我也不知道爲什麼最終成功了。請各位讀者謹慎參考