수색…


Gradle Wrapper와 Git

도입부에서 설명한 것처럼, gradlew 명령이 실행될 때 사용할 항아리가 프로젝트로 다운로드되기 때문에 gradle wrapper 기능이 작동합니다. 그러나 이것은 커밋되지 않을 수 있으며 프로젝트가 체크 아웃 된 다음 번에 오류가 발생하여 gradlew 가 실행되지 않습니다.

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

이것은 .gitignore에 Java 프로젝트 용 *jar 가 포함될 가능성이 높기 때문입니다. 그라디언트 래퍼가 초기화되면 gradle/wrapper/gradle-wrapper.jar 파일로 복사됩니다. 따라서 git 인덱스에 추가하고 커밋해야합니다. 다음과 같이하십시오.

git add -f gradle/wrapper/gradle-wrapper.jar
git ci

-f 를 강제하는 것.

Gradle 래퍼 소개

Gradle에는 프로젝트에 래퍼를 추가 할 수있는 기능이 있습니다. 이 랩퍼는 모든 사용자 또는 연속 통합 시스템이 Gradle을 설치해야하는 필요성을 줄여줍니다. 또한 프로젝트에서 사용하는 버전과 사용자가 설치 한 버전간에 일부 비 호환성이있는 버전 문제를 방지합니다. 이것은 프로젝트에 로컬로 gradle 버전을 설치하여 수행합니다.

프로젝트 사용자는 단순히 다음을 실행합니다.

> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task>   # on Windows

래퍼를 사용하도록 프로젝트를 설정하려면 개발자에게 다음을 수행하십시오.

  1. 실행 :
gradle wrapper [--gradle-version 2.0]

--gradle-version X 는 선택 사항이며 제공되지 않은 경우 (또는 래퍼 작업이 아래에 표시된 것처럼 포함되지 않은 경우) 사용되는 버전은 사용되는 gradle 버전입니다.

  1. 프로젝트가 특정 버전을 사용하게하려면 build.gradle 다음을 추가하십시오.
task wrapper(type: Wrapper) {
    gradleVersion = '2.0'
}

gradle wrapper 명령을 실행하면 파일을 만듭니다.

the_project/
  gradlew
  gradlew.bat
  gradle/wrapper/
    gradle-wrapper.jar
    gradle-wrapper.properties

이 기능에 대한 공식 문서는 https://docs.gradle.org/current/userguide/gradle_wrapper.html에 있습니다.

Gradle Wrapper에서 로컬로 제공된 Gradle 사용

온 - 프레미스의 Gradle 복사본을 유지하고 Wrapper가 빌드에서이를 사용하게하려면 wrapper 작업에서 사본을 가리키는 distributionUrl 설정할 수 있습니다.

task wrapper(type: Wrapper) {
    gradleVersion = '2.0'
    distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}

gradle wrapper 실행 한 후, 쉘 스크립트 gradlew 가 생성되고 gradle/wrapper/gradle-wrapper.properties 는 제공된 URL을 사용하여 Gradle을 다운로드하도록 구성됩니다.

프록시 뒤의 Gradle 래퍼 사용

사용자가 처음으로 프로젝트를 gradlew 때 두 가지 중요한 일이 있음을 알아야합니다.

  1. 래퍼에서 사용한 gradle 버전이 ~ / .gradle / wrapper / dists에 이미 있는지 확인하십시오.
  2. 그렇지 않다면 인터넷에서 해당 버전의 아카이브를 다운로드하십시오.

모든 외부 트래픽이 프록시를 통과해야하는 환경에 있다면 2 단계는 실패 할 것입니다 (투명 프록시 환경이 아니면). 결과적으로 JVM 프록시 매개 변수를 설정해야합니다.

예를 들어 인증없이 기본 프록시 설정이있는 경우 환경 변수 JAVA_OPTS 또는 GRADLE_OPTS 를 다음과 같이 설정하면됩니다.

-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>

Windows에서 완성 된 예제는 다음과 같습니다.

set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com

그러나 환경에 인증이 필요한 경우 https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties 에서 다른 옵션을 검토 할 수도 있습니다 . html .

참고 :이 프록시 구성은 종속성 리포지토리 액세스를위한 모든 프록시 구성에 추가 됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow