javac : 유효하지 않은 타겟 릴리스 : 1.8


87

최근 NetBeans와 함께 제공되는 JDK 1.8.0.0_06을 다운로드했습니다. 그런 다음 Java 1.7에서 개발중인 JavaFx 프로젝트가 Java 1.8에서 컴파일되지 않아 JDK를 1.7로 낮췄다는 사실을 알게되었습니다. 그래도 작동 / 컴파일 할 수 없습니다. 이 오류가 발생합니다.

javac: invalid target release: 1.8
Usage: javac <options> <source files>

나는 정말로 막혔고 어떤 도움이라도 대단히 감사하겠습니다.


1
당신이 물러나려고하는 경우에, 다음에,뿐만 아니라 1.7에 마우스 오른쪽 버튼을 클릭을 프로젝트의 소스를 변경 Project -> Properties -> Sources window하고 여기에 1.7를 설정
Jigar 조시을

당신은 생명의 은인 @Jigar Joshi !!!! 다시 한번 감사합니다 ***** 공장. 너무 감사합니다. 내가 받아 들일 수 있도록 답변을 답변으로 넣을 수 있습니다. 와! 다시 한번 감사합니다. 너무 오래 갇혀 있었다!
Program-Me-Rev

프로젝트가 Java 1.8에서 컴파일되지 않으면 심각한 문제가 발생했을 가능성이 높습니다 (예를 들어, 다른 질문에 게시 한 코드에 UI 구성 요소에 대한 정적 필드가 있는데 이는 심각한 디자인 오류입니다). 나중에 많은 사용자가 업그레이드 할 버전으로 되 돌리는 것보다이 문제를 해결하는 것이 좋습니다.
James_D

@James_D가 맞습니다. 이것은 Java의 첫 번째 프로젝트입니다. 나는 프로그래밍을 거의 배웠고 지금까지 정적 멤버, 인터페이스 및 다형성에 대한 나머지를 피하는 것에 대한 모든 것을 얻지 못했습니다. 내 프로젝트가 너무 커서 한꺼번에 편집 할 수 없습니다. 나는 그것을 편집하고 다른 나머지 영역을 마무리하면서 조금씩 Spring을 통해 종속성 주입으로 이동할 계획입니다. 고통스러운 교훈이지만 잘 배웠습니다.
Program-Me-Rev

1
Java 버전 1.8.0, 1.8.0_05 및 1.8.0_11이 있지만 1.8.0.0_06과 같은 것은 없습니다.
David Conrad

답변:


33

아래로 내려 가려면 프로젝트의 소스도 1.7로 변경합니다.

right click on your Project -> Properties -> Sources window 

1.7여기에 설정

참고 : 그러나 1.8에서 작동하지 않는 이유를 알아내는 것이 좋습니다.


66

IntelliJ14의 경우 사용중인 JDK (전역 설정에서)에서 바이트 코드 버전을 변경해야 할 수 있습니다.

여기에 이미지 설명 입력


나를 위해 작동하지 않습니다, 대상 바이트 코드 버전을 1.8로 변경하지만 같은 오류가 발생합니다
tribbloid

하지만 질문은 Netbeans에 관한 것이 었습니까?
Jolta

27
  1. JDK 8을 다운로드하십시오 .
  2. JAVA_HOME새로 설치된 JDK 1.8을 가리 키도록 env var를 편집 하십시오. 내 컴퓨터-> 속성-> 고급 시스템 설정-> 환경 변수를 R- 클릭 JAVA_HOME하여 목록에서 찾아 값을 다음과 같이 설정하십시오.

    C:\Program Files\Java\jdk1.8.0_31
    
  3. 이전 버전을 찾아 PATH변수로 편집하십시오 .

  4. 아마도 시스템을 다시 시작해야 할 것입니다.

완료되어야합니다.


23

Gradle (또는 Maven) 작업을 실행할 때이 오류가 발생하면 다음 경로에 따라 Java JDK 1.8 설치를 가리 키도록 해당 빌드 도구 구성을 수정해야합니다.

파일-> 설정-> 빌드, 실행, 배포-> 빌드 도구-> Gradle

거기에서 Linked Gradle 프로젝트가 작업중인 프로젝트인지 확인하고 Gradle JVM을 선택합니다 (Gradle 프로젝트를 IntelliJ로 가져올 때 놓쳤습니다).

여기에 이미지 설명 입력

Gradle (또는 Maven) 프로젝트를 가져올 때 여기에서 대상 JVM을 올바르게 설정해야합니다. 여기에 이미지 설명 입력


14

javac가 올바른 java를 가리키고 있지 않습니다.

다음 명령을 사용하여 javac가 가리키는 위치를 확인하십시오.

update-alternatives --config javac

컴파일 할 javac를 가리 키지 않는 경우 "/ JAVA8_HOME / bin / javac"또는 컴파일 할 Java를 가리 킵니다.


왜 -1, 나는 같은 문제를 겪었고 그것은 내 javac가 자바 버전을 수정하도록 설정되지 않았기 때문입니까?
Piyush Jajoo

다른 배포판에서 java 및 javac를 선택하는 방식으로 구성이 손상 될 수 있습니다.
Audrius Meskauskas 2015 년

9

대부분의 경우 이러한 유형의 문제는 잘못된 Java 버전으로 인해 발생합니다. PATH 및 JAVA_HOME 변수가 올바른 버전을 가리키는 지 확인하십시오.


아, 그래 - 그건 내 원인도했다
남자 mograbi

4

Maven 설정 :

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

4

이전 솔루션 중 어느 것도 나를 위해 일하지 않았습니다.

.idea / compiler.xml을 편집하여 문제를 해결했습니다. 다른 대상을 가진 불량 모듈의 "추가"(1) 및 (2) 복사본이있었습니다. 나는 불필요한 항목을 삭제하고 섹션의 대상을 1.8로 변경했으며 작동했습니다.


그것은 나에게도 해결되었습니다.
davidmerrick 17

2

2017 년 12 월 18 일 IntelliJ IDEA Ultimate 최신 버전의 경우 위의 제안이 작동하지 않으면 다음을 시도하십시오. 프로젝트를 마우스 오른쪽 단추로 클릭하고 "모듈 설정 열기"로 이동하십시오. 그것을 연 다음 드롭 다운에서 "언어 수준"을 변경합니다.


또한 종속성 탭의 모듈 설정에서 올바른 모듈 SDK가 선택되어 있는지 확인하십시오.
Rene Juuse


1

아래로 내려 가려면 프로젝트의 소스도 1.7로 변경합니다.

프로젝트-> 속성-> 소스 창을 마우스 오른쪽 버튼으로 클릭하고 여기에 1.7을 설정합니다. "Jigar Joshi

또한으로 이동 build-impl.xml하여 속성을 찾고 excludeFromCopy="${copylibs.excludes}"내 코드 에서이 속성을 삭제하십시오.

나를 위해 MAC OS Java 1.8에서 WIN XP Java 1.7로 코드를 가져 왔습니다.


1

또는 pom.xml을 확인하고 변경했습니다.

<java.version>1.8</java.version>

...에

<java.version>1.7</java.version>

Gracias, 이것은 나를 위해 그것을 고쳤습니다.
Fabii

1

netbeans와 동일한 문제가 발생했지만 mvn 빌드는 cmd 창에서 괜찮습니다. 나를 위해 netbeans의 JDK를 변경 한 후 문제가 해결되었습니다 (아래와 같이 netbeans.conf에서),

netbeans_jdkhome = "C : \ Program Files \ Java \ jdk1.8.0_91"


편집 : 여기에 언급 된 것 같습니다 : netbeans bug 236364


1

Maven을 사용하는 IntelliJ IDEA Community에서 동일한 문제가 발생했으며 프로젝트 탭-> Maven-> 다시 가져 오기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 프로젝트를 다시 가져와야했습니다.


0

IDEA Community의 최신 릴리스 (2017.x 대신 2018.3)를 설치하면 동일한 오류가 발생하지만 Java 버전 : 11. Reimport는 저에게 효과가 없었습니다. 그러나 시도해 볼 가치가 있습니다.

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