클래스가 최신 버전의 Java 환경에서 컴파일되었습니다.


94

셀레늄 스크립트를 실행하는 동안 Eclipse 콘솔에 다음 오류 메시지가 표시됩니다.

클래스가 최신 버전의 Java 환경 (클래스 파일 버전 53.0)에 의해 컴파일되었습니다.이 버전의 Java 런타임은 최대 52.0의 클래스 파일 버전 만 인식합니다.


  • 자바 버전 : 8
  • IDE : Eclipse Oxygen
  • Firefox 버전 : 46

6
클래스 파일 버전 53 = Java 9. Java 8 JVM이 Java 9 코드를 실행할 수 없습니다.
howlger

답변:


129

이것은 단지 버전 불일치입니다. Java 버전 9를 사용하여 코드를 컴파일했으며 현재 JRE는 버전 8입니다. JRE를 9로 업그레이드하십시오.

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14

24
논리적 선택 에 대한 조언을 제공 하는 것은 전혀 좋은 해결책이 아닐 수 있습니다. 프로젝트가 처음에 jre-8로 실행되고 누군가 실수로 9에 대해 일부 모듈을 컴파일하면 어떨까요?
유진

이전 버전과의 호환성 문제가 없기 때문에 업그레이드가 여전히 문제를 일으키지 않을 것이라고 생각합니다. 그리고 컴파일러가 최신 버전으로 업그레이드되었다고 믿기 때문에 논리적이었습니다.
Nithin

10
작은 샌드 박스 프로젝트로 생각하고 있습니다. 엔터프라이즈 프로젝트의 경우 이것은 결코 쉬운 변화가 아닙니다. 예를 들어, 7에서 부작용에 의존하고 있던 제네릭의 일부 버그가 8에서 수정되었습니다. 또는 HashMap순서가 7에서 8로 변경되었습니다 ... 등등. 간단히 말 - 9 움직임은 좋은 옵션입니다,하지만 결코 간단하고 빠른 일
유진

엔터프라이즈 프로젝트 수준에 대해 언급하신다면 맞습니다. 저는 그 점에 강력하게 동의합니다. 업그레이드 / 다운 그레이드는 이러한 시나리오에서 가장 실행 가능한 옵션이 아닙니다.
Nithin

@nithinpankaj 본질적으로 Java 9를 사용하려고 할 때마다 새로운 오류가 발생했습니다. 업그레이드 아무 이유와 함께, 나는 시도 중단했으며, 자바 (9)의 다소 빈약 한 의견이
Erhannis

43

IDE : Eclipse Oxygen.3

문제를 일시적으로 해결하려면 다음을 수행하십시오.

Project menu> Properties> Java Compiler> Compiler compliance level>1.8

영구 수정에는 JDK 9 설치가 포함될 수 있습니다.

FYI 1.8은 Java 8이라고 불리는 것입니다.

사이드 바

저는 최근에 C # (신선한 공기)에 뛰어든 후 Java로 돌아와서 이전에 Java를 설치 한 적이없는 깨끗한 시스템에 Eclipse Oxygen을 설치했습니다. 이 기본 설정 은 Eclipse Oxygen의 새로운 설치를 포함하지만 어떻게 든 또는 다른 Eclipse는 설치된 jdk와 일치하는 자체 매개 변수를 가져올 수 없습니다. 이것은 내가 만든 두 번째 프로젝트이고 두 번째로 두통에 부딪 혔습니다. C #으로 돌아갈 시간입니까?

관련 질문

최신 버전의 Java Runtime (클래스 파일 버전 53.0)으로 컴파일되었습니다.


흥미 롭군요. 그렇다면 바이트 코드가 앞으로 호환되지 않는다는 의미입니까?
toto '


7

53그래서 당신이 컴파일 된 한 어떤 클래스 그 의미, 자바-9를 의미 javac-9하고 당신이 그것을 실행하려고 jre-8. 해당 클래스를 다시 컴파일 javac-8하거나 jre-9를 사용하십시오.


3

다른 답변을 이해하기 어렵 기 때문에 이것을 작성합니다.

기본적으로 JRE가 업데이트되지 않았거나 Eclipse가 최신 JRE를 사용하도록 구성되지 않았습니다.

Windows의 경우 제어판-> 프로그램-> Java-> 업데이트로 이동하여 Java 업데이트를 진행합니다.

또는 Java가없는 경우 Oracle 웹 사이트로 이동하여 최신 JRE를 다운로드하십시오.

이 작업이 완료되면 eclipse로 이동하고 프로젝트보기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 Java 빌드 경로를 선택하고 JRE 시스템 라이브러리를 두 번 클릭 한 다음 Workspace Default JRE 14.1을 선택합니다.

최신 버전의 Java가 여기에 표시되지 않으면 설치되지 않은 것입니다. JRE (NOT JDK) 버전을 확인하고 최신 버전인지 확인하십시오. 그렇다면 컴퓨터를 다시 시작한 다음 다시 시도하십시오.


1

프로젝트 섹션으로 이동하여 속성을 클릭 한 다음 Java 컴파일러로 이동하여 컴파일러 준수 수준이 1.8인지 확인하거나 하단에 노란색 경고가 없어야합니다.


1

Gradle 종속성 새로 고침이 저에게 효과적입니다. 프로젝트-> Gradle-> Gradle 프로젝트 새로 고침을 마우스 오른쪽 버튼으로 클릭하십시오.


1

Intellij에서 Jar를 만든 후 콘솔에서 비슷한 문제가 발생했습니다. Java 구성을 사용하여 최신 버전으로 업데이트 (Windows-> Java 구성-> 업데이트-> 지금 업데이트)가 작동하지 않고 버전 1.8 (Java 8)에서 멈췄습니다.

로컬에서 최신 버전으로 전환하려면 https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html 에서 Java 15 JDK를 설치하고이를 Java 런타임 환경 설정에 추가해야했습니다.

자바 런타임 환경 설정


0

임시 솔루션의 경우 프로젝트 => 속성 => Java 컴파일러 => 저기에서 컴파일러 준수 수준 1.8 => .class 호환성 1.8 => 소스 호환성 1.8을 선택하십시오 .

그러면 코드가 버전 1.8 에서 실행되기 시작합니다 .

감사합니다. Akshay kenjale.

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