2017-11-23 5 views
1

셀레늄 스크립트를 실행하는 동안, 나는 이클립스 콘솔에 다음과 같은 오류 메시지가 점점 오전 :클래스

클래스는 자바 런타임의 최신 버전 (클래스로 컴파일되었습니다 파일 버전 53.0)이, 자바 런타임의 버전은 52.0까지의 클래스 파일 버전을 인식 [여기 이미지 설명을 입력합니다] [1]

자바 버전 :. 8
IDE : 산소 이클립스
파이어 폭스 버전 : 46

+2

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

답변

1

이것은 버전 불일치 일뿐입니다. Java 버전 9를 사용하여 코드를 컴파일했으며 현재 JRE는 버전 8입니다. 가장 논리적 인 선택이므로 JRE를 9로 업그레이드하십시오.

+0

* 논리 * 선택에 대한 조언을하는 것이 전혀 좋은 해결책이 아닐 수도 있습니다 ... 프로젝트가 처음에는 jre-8로 실행되고 누군가가 우연히 9에 대해 일부 모듈을 컴파일하면 어떻게 될까요? – Eugene

+0

이전 버전과의 호환성 문제가 없으므로 업그레이드해도 문제가 발생하지 않을 것으로 생각됩니다. 그리고 컴파일러가 최신 버전으로 업그레이드되었다고 생각하기 때문에 논리적이었습니다. –

+1

작은 샌드 박스 프로젝트로 생각하고 있습니다. 엔터프라이즈 프로젝트의 경우 이는 결코 쉬운 변화가 아닙니다. 예를 들어 7에서 버그의 부작용에 의존하는 제네릭의 경우 8 개의 버그가 수정되었습니다. 또는 'HashMap' 주문이 7에서 8 ... 등으로 변경되었습니다.이 문제에 직면했습니다. * 간단히 말해서 - 9로 이동하는 것이 좋은 옵션이지만 결코 간단하지 않고 빠른 것일 것입니다 – Eugene

4

53은 java-9를 나타냅니다. 따라서 클래스가 무엇이든간에 javac-9으로 컴파일되었고 jre-8으로 실행하려고합니다. 해당 클래스를 javac-8으로 다시 컴파일하거나 jre-9를 사용하십시오.