IDEAはGradleを使用してSpringソースコードをコンパイルします

この記事で使用されているIDEAはコミュニティバージョンです。ソースコードのコンパイルアドレス(ローカルにプルするか、独自のgitリポジトリにフォークします):https//github.com/Nuclear-Core-Learning/spring-framework 

IDEAダウンロードアドレス:https//www.jetbrains.com/idea/download/other.html

目次

序文

前提条件

Gradleのダウンロード

Gradle減圧

環境変数を構成する

テストインストール

コンパイル前

IDEAをインポートする

IDEASpringソースコードの構築

JDK8以降のバージョンは


序文

  • 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の最新リリースパッケージをダウンロードします。

up-e64ccba5723a626b2f5841ec117740f876b.png

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ソースコードの構築

2018.3.4  https://youtrack.jetbrains.com/issue/IDEA-207327?_ga=2.262020813.155240518.1608166853-1295022405.1581304547

詳細: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の安定した長期メンテナンスバージョンをダウンロードします。

問題が解決しました!

おすすめ

転載: blog.csdn.net/boonya/article/details/111357056