この記事で使用されているIDEAはコミュニティバージョンです。ソースコードのコンパイルアドレス(ローカルにプルするか、独自のgitリポジトリにフォークします):https://github.com/Nuclear-Core-Learning/spring-framework
IDEAダウンロードアドレス:https://www.jetbrains.com/idea/download/other.html
目次
序文
- spirng-frameworkのソースコードは5.0から始まり、コンパイルツールとしてgradleを使用します
- spirng-frameworkソースコードのコンパイルはネットワーク速度のテストです(ネットワークジッターはコンパイルの失敗を引き起こす可能性があります)
- spirng-frameworkのソースコードは、AlibabaCloudなどの国内のMavenウェアハウスアドレスで構成する必要があります。
- spirng-frameworkソースコードのコンパイルは、大きなJVMパラメータを使用して構成する必要があります。そうしないと、メモリ割り当てが不十分なために失敗する可能性があります。
- spirng-frameworkソースコードのコンパイル済みバージョンは、通常1.8以上を使用します
- spirng-frameworkソースコードのIDEAバージョンとGradleバージョンが成功の鍵です(2018.3コンパイルの競合、2019.3成功)
- spirng-frameworkソースコードはEclipseとIDEAのインポートをサポートします
前提条件
JDK / JRE(バージョン7以降)がインストールされています。これがWin10システムです。
コマンドラインで次のように入力します。java-versionを使用して、現在のコンピューターにインストールされているバージョンを照会します。
Gradleのダウンロード
Gradleの公式ウェブサイトから Gradleの最新リリースパッケージをダウンロードします。
Gradle減圧
Gradle配布パッケージはZIPファイルです。完全な配布パッケージには、次の内容が含まれています(公式配布パッケージには、完全版と、必要に応じてダウンロードできるソースコードとドキュメントのないバージョンがあります。[Rover12421]注釈):
- Gradle実行可能ファイル
- ユーザーマニュアル(PDFおよびHTMLバージョンで利用可能)
- DSLリファレンスガイド
- APIマニュアル(JavadocおよびGroovydoc)
- ユーザーマニュアルの例、いくつかの完全なビルドサンプル、より複雑なビルドスクリプトを含むサンプル
- ソースコード。参考までに、Gradleを自分でコンパイルする場合は、ソースコードリポジトリからリリースバージョンのソースコードを確認する必要があります。詳細については、Gradleの公式ホームページを確認してください。
環境変数を構成する
gradleを実行するには、GRADLE_HOME / binをPATH環境変数に追加する必要があります。
テストインストール
次のコマンドを実行して、インストールが成功したかどうかを確認します。このコマンドは、現在のJVMバージョンとGradleバージョンを表示します。
gradle -v
JVMパラメーター構成
GradleランタイムのJVMパラメーターは、GRADLE_OPTSまたはJAVA_OPTSによって設定できます。これらのパラメーターは同時に有効になります。JAVA_OPTSによって設定されたパラメータは、他のJAVAアプリケーションと共有されます。典型的な例は、プロキシをJAVA_OPTSに設定し、メモリパラメータをGRADLE_OPTSに設定できることです。同時に、これらのパラメーターは、gradleまたはgradlewスクリプトファイルの先頭に設定することもできます。
コンパイル前
1.Spring-frameworkコードディレクトリにcdします
2. sesstings.gradleを変更して、AlibabaCloudウェアハウスのアドレスを設定します
pluginManagement {
repositories {
gradlePluginPortal()
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://repo.spring.io/plugins-release' }
}
}
3. build.gradleを変更し、AlibabaCloudウェアハウスアドレスを追加します
repositories {
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
4. gradle.propertiesを変更し、JVMパラメーターを増やします
version=5.3.3-SNAPSHOT
org.gradle.jvmargs=-Xmx2048M
org.gradle.caching=true
org.gradle.parallel=true
kotlin.stdlib.default.dependency=false
5.spring-oxmをコンパイルします
IDEAをインポートする
1.インポートする既存のプロジェクトリソースを選択します
2.Spring-frameworkソースディレクトリを選択します
3.Gradleプロジェクトを選択します
4.プロジェクトパラメータ構成をインポートします
IDEASpringソースコードの構築
詳細:https://www.jetbrains.com/idea/download/other.html
注:リリースログを見ると、Gradleの問題のいくつかが修正されています。
gradle-wrapper.propertiesで、gradleツールキットが6.7.1であることを指定します(Idea 2018.3は正常にコンパイルされました。6.1に変更して試すこともできます。環境と構成バージョンの一貫性を保つことをお勧めします)
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Download https://services.gradle.org/distributions/gradle-6.1-bin.zip (97.47 MB)
Download https://services.gradle.org/distributions/gradle-6.1-bin.zip finished succeeded, took 1 m 52 s 622 ms
Starting Gradle Daemon...
Gradle Daemon started in 6 s 517 ms
> Task :buildSrc:compileJava
> Task :buildSrc:compileJava UP-TO-DATE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:pluginDescriptors UP-TO-DATE
> Task :buildSrc:processResources UP-TO-DATE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:jar UP-TO-DATE
> Task :buildSrc:assemble UP-TO-DATE
> Task :buildSrc:pluginUnderTestMetadata
> Task :buildSrc:compileTestJava NO-SOURCE
> Task :buildSrc:compileTestGroovy NO-SOURCE
> Task :buildSrc:processTestResources NO-SOURCE
> Task :buildSrc:testClasses UP-TO-DATE
> Task :buildSrc:test NO-SOURCE
> Task :buildSrc:validatePlugins UP-TO-DATE
> Task :buildSrc:check UP-TO-DATE
> Task :buildSrc:build UP-TO-DATE
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1/userguide/command_line_interface.html#sec:command_line_warnings
CONFIGURE SUCCESSFUL in 8m 52s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1/userguide/command_line_interface.html#sec:command_line_warnings
CONFIGURE SUCCESSFUL in 8m 46s
注:java.lang.NoClassDefFoundError:org / gradle / api / internal / plugins / DefaultConventionの発生は、IdeaバージョンとGradleバージョンに互換性がないことを意味します。
JDK8以降のバージョンは
スプリングコア
最新のJDKダウンロードリンク:https://www.oracle.com/cn/java/technologies/javase-downloads.html
アカウント:[email protected]
パスワード:Oracle123
11LTSの安定した長期メンテナンスバージョンをダウンロードします。
問題が解決しました!