-
[JAVA] Class has been compiled by a more recent version of the Java Environment (class file version 55.0)프로그래밍/Java 2022. 9. 5. 17:38반응형
1. 상황
JDBC 파일을 다운받았다. mssql-jdbc-11.2.0.jre11.jar 파일이었는데, JRE11에서 알수 있듯 자바 11버전 JDBC이다. java -cp 로 실행해보니 저런 메세지가 튀어나왔다. 도대체 저건 무슨 의미일까?찾아보니 저 뒤의 class file version 55.0 이라는 의미는
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 59 = Java 15 60 = Java 16 61 = Java 17 62 = Java 18 63 = Java 19
자바 11버전으로 실행시켜야 한다는 말이었다. 나도 자바 11버전으로 실행한줄 알았지만... 내 실수로 8버전으로 실행했던 것이다. 사실 저 오류 뒤에 , this version of the Java Runtime only recognizes class file versions up to 52.0.라고 떴었는데 이게 자바 8을 의미한 것이었다. 그래서 정신을 호다닥 차리고는 자바 11로 실행시켰더니
Main method not found in class com.microsoft.sqlserver.jdbc.SQLServerDriver, please defind the main method as :
이런 오류가 나왔는데, 아마도 클래스에 메인메소드가 정의되지 않았다~ 이런 말인것 같다. 정상작동되는 jar파일에서도 저렇게 나오는 걸로 봐서는 문제없는 것 같다.
2. 결론
실행하는 자바 환경과 JDBC의 JVM 버전이 맞지 않아 발생한 일이니, JDBC의 실행 JAVA 버전을 잘 맞춰서 실행하길 바란다.
반응형'프로그래밍 > Java' 카테고리의 다른 글
[Java] No enclosing instance of type Main1 is accessible. Must qualify the allocation with an enclosing instance of type Main1 (e.g. x.new A() where x is an instance of Main1 ). (0) 2022.11.03 [SpringBoot] 나를 빡치게 하는 Hello World! (0) 2022.10.18 [Eclipse] 이클립스 한글 깨짐 (0) 2022.05.30 [JAVA] 극한의 자바 jar 파일 만들기 (0) 2020.05.20 [JAVA] 극한의 자바 컴파일 (0) 2020.05.07