source

.class 파일을 컴파일하는 데 사용되는 jdk 버전을 확인하는 방법

gigabyte 2022. 9. 16. 23:08
반응형

.class 파일을 컴파일하는 데 사용되는 jdk 버전을 확인하는 방법

중복 가능성:
Java .class 버전을 읽고 표시하는 도구

디버깅을 시도하고 있습니다.

".class 파일의 잘못된 버전 번호"

java의 에러, 어떤 버전을 체크할 수 있는 방법이 있나요?.class파일이란?

사용하고 있다JRE1.5.0_6, 그러나 나의JDK버전 1.6.0_13 입니다.

호환성 모드를 1.5로 설정하여 컴파일하고 있습니다.이것이라면 동작할 수 있을 것 같은데...

명령줄에서 다음을 찾습니다(MyClass라는 클래스의 경우).

Unix/Linux의 경우:

javap -verbose MyClass | grep "major"

Windows 의 경우:

javap -verbose MyClass | findstr "major"

결과에서 메이저버전이 필요하죠?다음은 값의 예를 제시하겠습니다.

  • Java 1.2는 메이저버전 46을 사용합니다.
  • Java 1.3은 메이저버전 47을 사용합니다.
  • Java 1.4는 메이저버전 48을 사용합니다.
  • Java 5는 메이저버전 49를 사용합니다.
  • Java 6은 메이저버전 50을 사용합니다.
  • Java 7은 메이저버전 51을 사용합니다.
  • Java 8은 메이저버전 52를 사용합니다.
  • Java 9는 메이저버전 53을 사용합니다.
  • Java 10은 메이저버전 54를 사용합니다.
  • Java 11은 메이저버전 55를 사용합니다.

그나저나 당신이 문제가 있는 이유는 자바 컴파일러가 두 가지 버전의 플래그를 인식하기 때문입니다.Java 1.5 수준의 소스 코드를 가정한 -source 1.5와 Java 1.5 호환 클래스 파일을 내보내는 -target 1.5가 있습니다.아마도 이 두 스위치를 모두 사용하고 싶을 것입니다만, 반드시 -target 1.5가 필요합니다.일식이 올바르게 동작하고 있는지 다시 한 번 확인해 보십시오.

무료 JarCheck 은 이쪽

jclasslib를 사용할 수 있습니다.

https://github.com/ingokegel/jclasslib

자신을 *.class 확장자와 연관지을 수 있어 좋습니다.

그럼?-verbose에 깃발을 올리다java명령어는 유용한 정보를 제공합니까?그렇지 않다면, 아마도java -X도움이 될 수 있는 특정 버전의 정보를 공개하고 있습니까?

언급URL : https://stackoverflow.com/questions/1096148/how-to-check-the-jdk-version-used-to-compile-a-class-file

반응형