오류 : java : 유효하지 않은 소스 릴리스 : Intellij에서 8 무슨 뜻이에요?


342

Intellij Ultimate 13.1.4를 사용하고있는 일부 코드를 컴파일하려고하는데 다음 오류가 발생하며 그 의미가 무엇인지 모릅니다.

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

내 생각 엔 Java 8 vs Java 7과 관련이 있지만 구체적으로 알 수는 없습니다. 이 메시지를 Google에 보내려고 시도했지만 javac또는 target release에 대해 이야기 했으므로 정확하게 적용되지 않는 것 같습니다.


2
어떤 버전의 Java가 설치되어 있습니까? IDE 설정에서 어떤 JRE / JDK가 인텔리 전을 가리 켰습니까?
nanofarad

2
아마도 프로젝트 설정. 가리키는 JDK와 요청한 언어 수준을 확인하십시오.
duffymo

1
@ duffymo 당신이 옳았다, 그것은 8을 가리키고 있었다. 나는 그것이 설정이라는 것을 몰랐다.
David는 Reinstate Monica가

답변:


768

Java 8에서 Java 6으로 프로젝트를 "다운 그레이드"할 때도 동일한 문제가 발생했습니다. 그 이유는 IntelliJ의 모든 위치에서 프로젝트가 변경되지 않았기 때문입니다.

IntelliJ 13.1.4 에서이 오류가 발생하지 않도록 다음 위치에서 Java 및 SDK 버전을 변경해야했습니다.

  • 파일-> 프로젝트 구조-> 프로젝트 설정
  • 파일-> 프로젝트 구조-> 모듈 설정-> 탭 : 소스 : 언어 레벨
  • 파일-> 프로젝트 구조-> 모듈 설정-> 탭 : 종속성 : 모듈 SDK
  • 파일-> 설정-> 컴파일러-> Java 컴파일러-> 대상 바이트 코드 버전

파일> 프로젝트 구조> 프로젝트의 스크린 샷

파일> 프로젝트 구조> 모듈> 소스의 스크린 샷

파일> 프로젝트 구조> 모듈> 종속성의 스크린 샷

파일> 설정 / 환경 설정> 컴파일러> Java 컴파일러의 스크린 샷

마지막 글 머리 기호는 내 경우에는 업데이트되지 않은 것입니다. 이것을 변경하면 오류가 사라졌습니다.


31
나를 죽인 사람은 이것이었다 File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. 감사.
bitoiu

18
나는이 문제에 직면했지만 위의 어느 것도 효과가 없었습니다. IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVMGradle을 사용하는 동안 누군가이 문제를 겪고있는 경우를 대비 하여해야 했습니다.
Emil

2
출처 : 언어 수준을 7로 변경-IDEA 15의 다이아몬드, ARM, 멀티 캐치 등
Mia

4
이것은 정답입니다. 작은 헤드 업으로 IntelliJ IDEA 15에서 포인트 4가로 이동했습니다 Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
iusting jan

일부 실행 / 디버그 구성에는 JRE 선택도 있습니다. 예를 들어 Tomcat 실행 / 디버그 구성에는 "JRE"선택기가있어이 오류가 발생할 수 있습니다.
jordanpg

16

수표 pom.xml첫 번째 (해당되는 경우)
확인 모듈의 JDK의존성을. 이 작업 을 수행하려면 프로젝트 구조-> SDK 로 이동 하십시오. 저장 한 경로를 1.8 추가하십시오 ( 내 경우) 변경 사항을 적용하십시오. 지금 프로젝트 구조-> 모듈로 이동 하십시오. 모듈 SDK를 변경하여 변경 사항 을 적용하십시오.1.8

jdk1.8.0_45.jdk


1.8

짜잔! 끝났어


6

이 문제가있는 Gradle 사용자의 경우 위의 방법으로도 문제가 해결되지 않으면 build.gradle 파일에 다음 선언을 적용하십시오.

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

문제 해결됨!


5

변화 pom.xml 1.61.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

5

에 설정하면 간단하게 극복 할 수 있습니다 Project Structure. JDK 관련 버전에 적합한 경로를 선택하기 만하면됩니다. 선택 new종속성 탭 및 경로를 선택합니다. 끝났다!

여기에 이미지 설명을 입력하십시오



2

Andreas Lundgren의 답변이 효과가 있었고 앱을 컴파일하고 실행할 수있었습니다.

그러나 프로젝트의 관련 JUnit 테스트를 실행하려고 할 때 동일한 오류가 발생했습니다. 달리는

gradle -version

Windows 명령 프롬프트에서 gradle이 여전히 잘못된 jdk를 선택하고 있음을 보여주었습니다. 이 문제를 해결하려면 JAVA_HOME올바른 jdk를 가리키고 IntelliJ를 다시 시작하도록 환경 변수 를 설정해야했습니다 .


1

위에서 언급 한 프로젝트 버전, 모듈 버전, 프로젝트 바이트 코드 버전, 대상 바이트 코드 버전 설정을 모두 확인했습니다. IntelliJ Idea 모두 확인했지만 모두 긁은 것과 동일합니다.

종속성 버전을 업그레이드했기 때문에이 오류가 발생합니다 Error:java: invalid source release: 1.8.IntelliJ Idea 2017.2.6Maven pom 파일을 .

따라서 다시 Mavenpom 에서 종속성 버전을 이전 버전으로 다운 그레이드하고 프로젝트 재구성 모듈 'xyz_project'후에 오류가 발생했습니다.


0

Grails 사용자의 경우 BuildConfig.groovy 파일에 다음 선언을 적용하십시오.

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

0

모듈 열기 프로젝트 설정을 클릭하고 JDK의 경로를 변경해야합니다. POM 파일에서 jdk 1.8을 사용하는 경우 jdk 1.8을 올바른 경로로 구성하십시오.


0

이 답변에 언급되지 않은 경로를 하나 더 추가합니다 https : //.com/a/26009627/4609353

그러나 구성 편집은 매우 중요합니다.

하나 더 경로


0

여기 https://stackoverflow.com/a/26009627/2058104에 언급 된 모든 단계를 시도 했지만 4 단계가 변경되었습니다. 당신은에 갈 필요가 > 빌드, 실행, 배포 - -> 컴파일러 -> 자바 컴파일러 환경 설정

아래 그림과 같이 "대상 바이트 코드 버전"을 변경해야합니다. 비록 Java 8로 다운 그레이드해야하기 때문에 8로 변경했지만 반복해서 같은 오류가 발생했습니다. 따라서이 테이블에서 기존 항목을 제거하고 다시 추가하십시오. 이것은 나를 위해 일했습니다.

여기에 이미지 설명을 입력하십시오

반면에 프로젝트를 정리하고 다시 실행 해보십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.