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 가져 오기

IDEA Spring 소스 코드 구성

JDK8 및 이후 버전은 다음에 따라 다릅니다.


머리말

  • spirng-framework 소스 코드는 5.0부터 시작하여 컴파일 도구로 gradle을 사용합니다.
  • spirng-framework 소스 코드 컴파일은 네트워크 속도 테스트입니다 (네트워크 지터로 인해 컴파일 실패가 발생할 수 있음).
  • spirng-framework의 소스 코드는 Alibaba Cloud 등과 같은 국내 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. 스프링 프레임 워크 코드 디렉토리로 cd

2. sesstings.gradle을 수정하여 Alibaba Cloud웨어 하우스 주소 설정

pluginManagement {
	repositories {
		gradlePluginPortal()
		maven { url 'https://maven.aliyun.com/repository/public' }
		maven { url 'https://repo.spring.io/plugins-release' }
	}
}

3. build.gradle을 수정하고 Alibaba Cloud웨어 하우스 주소를 추가합니다.

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. 스프링 프레임 워크 소스 디렉토리 선택

3. Gradle 프로젝트 선택

4. 프로젝트 매개 변수 구성 가져 오기

 

 

IDEA Spring 소스 코드 구성

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