Gradle-플랫폼을 타겟팅 할 수 없음 : 도구 체인을 사용하는 ‘Java SE 8’: ‘JDK 7 (1.7)’ 배포를 사용하여 Intellij Idea에서

로컬 Gradle 배포를 사용하여 Intellij Idea에서 Gradle 프로젝트를 가져오고 다음 메시지와 함께 스택 추적을 가져 오려고 Could not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'합니다.. 누구든지 이유가 무엇인지 설명해 주시겠습니까?



답변

이것은 나를 위해 일한 것입니다 (Intellij Idea 2018.1.2).

1) 파일-> 설정-> 빌드, 실행, 배포-> 빌드 도구-> Gradle로 이동합니다.

2) Gradle JVM : 버전 1.8로 변경

3) gradle 작업 다시 실행


답변

IntelliJ 2019의 경우 :

Intellij IDEA-> 환경 설정-> 빌드, 실행, 배포-> 빌드 도구-> Gradle-> Gradle JVM

올바른 버전을 선택하십시오.


답변

IntelliJ 2019, JDK 13 및 gRPC의 경우 :

Intellij IDEA-> 환경 설정-> 빌드, 실행, 배포-> 빌드 도구-> Gradle-> Gradle JVM

올바른 버전을 선택하십시오 .

build.gradle 종속성에 아래 줄을 추가해야 할 수도 있습니다.

compileOnly group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'


답변

마지막으로 Gradle 프로젝트를 가져 왔습니다. 단계는 다음과 같습니다.

  1. 로컬 Gradle 배포에서 Intellij Idea Gradle Wrapper (gradle-2.14)로 전환했습니다.
  2. Gradle Wrapper가 JDK 8로 프로젝트를 처리 할 수 ​​있다는 실험을 통해 알아 낸대로 시스템 변수 JAVA_HOMEJDK 8 (이전에는 7 번째)으로 지정했습니다. 로만 .
  3. 이전에 수동으로 만든 파일 gradle.properties (
    org.gradle.java.home변수 포함)를 Windows 사용자 .gradle 디렉토리에서 삭제했습니다 .Gradle에 추가 값을 가져 오지 않았기 때문입니다.


답변

일부 레거시 시스템으로 인해 7 호환성으로 일부 소스를 컴파일해야했기 때문에 동일한 문제가 발생했습니다. gradle 구성에서 두 가지 옵션이 java 8로 설정된 것을 알았습니다.

sourceCompatibility = 1.8
targetCompatibility = 1.8

이들을 1.7로 전환하면 JAVA_HOME이 설치된 JDK-7을 가리 키도록 유지하면서 문제가 해결되었습니다.

sourceCompatibility = 1.7
targetCompatibility = 1.7


답변

다음은 나를 위해 일했습니다.

  1. IntelliJ의 오른쪽 상단으로 이동-> 아이콘 클릭
  2. 프로젝트 구조 창에서-> 프로젝트 선택-> 프로젝트 SDK에서 올바른 버전 선택-> 적용 클릭-> 확인 클릭


답변

매우 관련된 문제가 있지만 더 높은 Java 버전의 경우 :

$ ./gradlew clean assemble

... <other normal Gradle output>

Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.

InteliJ를 사용하여 실행할 때 작업이 성공했음을 알았습니다. 라는 파일 (build.gradle과 동일한 수준)을 추가하면 .java-version내 문제가 해결되었습니다.

 # .java-version
 11.0.3