원인
Java Version 52.0 (JDK 8.0) 버전에서 만들어진 코드를
그 이하 버전에서 실행할 때 발생하는 오류이다.
해결
1. java -version 확인
먼저 코드를 실행하고자 하는 위치의 cmd를 켜서 java -version을 실행시키자.
java -version
확인해보면
C:\>java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
위와 같이 실행하고자 하는 위치의 자바 버전을 알 수 있는데
현재 서버 위치의 자바 버전은 7 버전인 것을 알 수 있다.
그럼 우리의 코드도 해당 버전에 맞게끔 수정을 해 주어야 한다.
이 외에 다른 버전일 경우 매칭 되는 버전은
J2SE 8 = Version 52
J2SE 7 = Version 51
J2SE 6.0 = Version 50
J2SE 5.0 = Version 49
JDK 1.4 = Version 48
JDK 1.3 = Version 47
JDK 1.2 = Version 46
JDK 1.1 = Version 45
위와 같다.
2. 내 코드 버전 낮추기
적용하고자 하는 서버 위치의 자바 버전이 7 버전이라는 것을 알았고
우리는 에러를 통해 우리의 자바 버전이 8 버전이라는 것도 알고 있다.
그래서 우리 코드도 동일하게 7 버전으로 낮춰줘야 한다.
코드의 패키지 우클릭 > Properties > Java Build Path > Libraries 탭 > JRE System Library 클릭 > Edit 클릭
이후
Execution environment에서 7버전 선택
위의 설정이 끝나고 나서
Java Compiler > Compiler compilance level이
올바르게 적용되어있는지 확인하면 끝
이후 코드를 다시 꺼내서 적용하고자 하는 서버에 다시 그대로 넣어주면
코드는 한 글자도 안 달라져 동일하지만
자바 버전은 8 > 7로 맞춰 저서
해당 서버에서 실행이 가능해진다.
주의 사항
위의 방법을 사용 시
현재 코드가 작성된 서버에서 오류가 발생할 수 있습니다.
자바버전을 바꿀 경우 반드시 바꿔도 되는지 잘 확인하고 바꾸시길 바랍니다.
'Language > Java' 카테고리의 다른 글
[Java] 트리 구현하기 (이진트리, 전위순회, 중위순회, 후위순회) (0) | 2023.04.08 |
---|---|
[Base64][암호화] + 기호가 " "(공백) 으로 바뀌는 현상 (0) | 2023.03.13 |
[Java] 코드 실행 시간 구하기 (시간 측정) (2) | 2022.12.02 |
[Java] 힙(Heap) (0) | 2022.11.22 |
[Java] BufferedReader, BufferedWriter / 자바 문자 입력받기 (0) | 2022.11.20 |
댓글