Gradle - 툴체인을 사용한 플랫폼 'JDK 7 (1.7)'을 타깃으로 하지 못했습니다.
나는 Intellij 아이디어의 지역 Gradle distrib과 Gradle 프로젝트를 수입하고 다음과 같은 메시지와 함께 stacktrace는 것:노력하고 있다.프로젝트를 Import하려고 같은메시지로stacktrace를 받습니다 다음과 하는데 Intellij Idea에서로컬 Gradle사용하여 Gradle distribution을.Could not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'
. 누군가 어떻게 될 수 있는 이유를 설명할 수 있을까요?이유가 뭔지 설명해주실 분 있나요?
이것은 나에게 효과가 있었다(Intelij Idea 2018.1.2).
1) [파일] -> [설정] -> [빌드], [실행], [도입] -> [빌드툴] -> [그래들]로 이동합니다.
2) Gradle JVM: 버전 1.8로 변경
3) 그래들 태스크 재실행
IntelliJ 2019의 경우:
Intellij IDEA -> 프리퍼런스 -> 빌드, 실행, 도입 -> 빌드 도구 -> 그래들 -> 그래들 JVM
올바른 버전을 선택하십시오.
IntelliJ 2019, JDK 13 및 gRPC의 경우:
Intellij IDEA -> 프리퍼런스 -> 빌드, 실행, 도입 -> 빌드 도구 -> 그래들 -> 그래들 JVM
올바른 버전을 선택합니다.
build.gradle 의존관계에 아래 행을 추가해야 할 수도 있습니다.
compileOnly group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
마침내 나는 그라들 프로젝트를 수입했다.순서는 다음과 같습니다.
- 현지 Gradle distribution에서 Intellij Idea Gradle Wrapper(gradle-2.14)로 전환했습니다.
- 나는 시스템 변수시스템 변수를 가리켰다 지적했다.
JAVA_HOME
Gradle Wrapper가 JDK 8에서만 프로젝트를 처리할 수 있다는 것을 실험을 통해 알게 되었기 때문에 JDK 8(이전에는 7위)로 변경했습니다. - 이전에 수동으로 작성한 gradle.properties 파일을 삭제했습니다.
org.gradle.java.home
창문에 가변)사용자.gradle 번호부처럼, 나는 짐작이 Gradle기 위해 이 추가 가치를 제공해 주지 않았다.사용하여 Gradle에 추가 값을가져오지않은 것으로 추측됩니다 Windows.gradle디렉토리에서 변수)을 사용자.
7 호환성을 가진 소스를 컴파일해야 했기 때문에 레거시 시스템으로 인해 동일한 문제가 발생하였습니다.gradle 구성에서는 2개의 옵션이 Java 8로 설정되어 있는 것을 알게 되었습니다.
sourceCompatibility = 1.8
targetCompatibility = 1.8
이것을 1.7로 바꾸면 문제가 해결되어 JAVA_를 유지할 수 있었습니다.설치된 JDK-7을 가리키는 HOME
sourceCompatibility = 1.7
targetCompatibility = 1.7
빌드 시 -> sourceCompatibility = '1.7'을 변경해야 합니다.그라들
매우 관련된 문제가 있었습니다만, Java보다 높은 버전의 경우는, 다음과 같습니다.
$ ./gradlew clean assemble
... <other normal Gradle output>
Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
나는 InteliJ을 사용하여 달리기는 작업 성공했다 것을 알아챘다.인텔 iJ를 사용하여 실행했을 때 작업이 성공했음을 알 수 있었습니다.파일(build.gradle로 같은 수준)파일 추가(build.gradle과 동일한 수준)라고 불리는 더한다..java-version
제 문제를 해결했다:문제를 해결했습니다.
# .java-version
11.0.3
다음과 같은 것이 도움이 되었습니다.
- IntelliJ 오른쪽 상단 모서리로 이동 -> 아이콘을 클릭합니다.
- [ Project Structure ]창 -> [ Project ]-> [ Select project ]-> [ Project SDK ]에서 올바른 버전을 선택합니다.-> [ Apply ]-> [ OK ]을 클릭합니다.
IntelliJ 설정에서 JVM 버전을 변경하려면 위의 모든 정보를 추가하여 프로젝트의 모든 모듈에 대해 변경해야 합니다.
따라서 멀티 모듈 프로젝트를 수행하는 경우 모든 모듈의 JVM 버전을 변경했는지 확인하십시오.
그래서 다른 답변에서 이 문제에 대처하는 방법에는 여러 가지가 있다는 것을 알 수 있습니다.하지만 난 이걸 믿지 않아.한 가지 방법으로 줄여야 합니다.IDE를 좋아하지만 다른 답변에서 제공되는 IDE 단계를 따르면 이것이 기본 대수가 아니라는 것을 알 수 있습니다.오류는 다음과 같습니다.
* What went wrong:
Execution failed for task ':compileJava'.
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
과학적으로 해결하는 방법은 다음과 같습니다.
vi build.gradle
변경처:
java {
sourceCompatibility = JavaVersion.toVersion('11')
targetCompatibility = JavaVersion.toVersion('11')
}
다음 중 하나가 됩니다.
java {
sourceCompatibility = JavaVersion.toVersion('8')
targetCompatibility = JavaVersion.toVersion('8')
}
과학적 방법은 논의의 여지가 있고 공통분모를 다루는 방법이다.
IntelliJ에 대한 질문입니다만, Google에서 처음 받은 결과이기 때문에, 많은 이클립스 유저도 Buildship에서 같은 문제를 겪고 있을 것이라고 생각합니다.
Eclipse에서 Gradle JVM을 설정하려면 실행하려는 특정 작업을 마우스 오른쪽 버튼으로 클릭하고 Gradle 실행 구성 열기 를 클릭합니다. 실행하려는 특정 작업을 마우스 오른쪽 버튼으로 클릭하고 "Open Gradle Run Configuration"을 클릭합니다."를 클릭하여 Java Home 탭으로 이동하여 프로젝트에 적합한 JVM을 선택합니다.
Java 9 JDK 9.0.4
- Android Studio(4.1.1)의 왼쪽 상단 모서리로 이동하여 파일을 클릭합니다.
- [설정] 을 클릭합니다.
- 빌드, 실행, 전개를 클릭합니다.
- 컴파일러를 클릭합니다.
- Kotlin 컴파일러를 클릭합니다.
- 대상 JVM 버전
파일 | 설정 | 빌드, 실행, 도입 | 컴파일러 | Kotlin 컴파일러
IntelliJ 터미널에서 Gradle Build를 실행하는 경우 다음을 수행합니다.
- Java 버전을 확인합니다.JAVA_HOME은 INBENJKUMALM1: payment-service jkuma00$ echo $JAVA_ 명령어로 가리키고 있습니다.HOME / Users / jkuma00 / . sdkman / 후보 / java / 11 . 0 . 11 . 9 . 1 - amzn
- build.gradle 파일에서 소스 호환성 버전을 확인합니다. sourceCompatibility = JavaVersion.버전_11
근본 원인: $JAVA_에서 보고한 주요 Java 버전HOME은 sourceCompatibility 속성의 Java 버전 값과 일치해야 합니다.불일치가 있는 경우.이 문제가 발생합니다.
해결 방법: 소스 호환성 버전을 변경하거나 JAVA_를 변경하십시오.HOME 값동기는 이 버전들과 일치하고 모든 것이 괜찮을 것입니다.
ReferenceURL : https://stackoverflow.com/questions/43995886/gradle-could-not-target-platform-java-se-8-using-tool-chain-jdk-7-1-7
'programing' 카테고리의 다른 글
MySQL 데이터베이스에 연결할 때 SSL 연결에 대한 경고 (0) | 2022.08.14 |
---|---|
Vuex 스토어에서 상수 가져오기 (0) | 2022.08.14 |
정적 변수는 C 및 C++ 어디에 저장됩니까? (0) | 2022.08.14 |
사용하지 않는 기능에 대해 경고를 받을 수 있는 방법이 있습니까? (0) | 2022.08.14 |
실행 시 하나의 Java 클래스가 다른 클래스를 확장하는지 테스트하려면 어떻게 해야 합니까? (0) | 2022.08.14 |