728x90
반응형
verifyError는 클래스 파일에 구문적으로는 정확하지만 일부 의미론적 제한을 위반하는 바이트코드가 포함되어 있음을 의미합니다.
기본적으로 verifyError는 컴파일러 버그가 있거나 클래스 파일이 다른 방식으로 손상된 경우(예: RAM 결함 또는 HD 결함으로 인해)에만 발생할 수 있습니다.
다른 JDK 버전과 다른 컴퓨터에서 컴파일해 보세요.
java.lang.VerifyError 발생 원인은 아래와 같다.
1. 컴파일 시 사용한 라이브러리와 런타임 시 사용한 라이브러리 버전이 달라서 메서드 형태가 다른 경우
2. 사용한 라이브러리가 상위 버전의 JDK에서 컴파일 된 경우결국은 라이브러리 버전을 맞춰야 됨
일반적으로 컴파일러는 메서드 서명이 일치하지 않는 문제에 플래그를 지정합니다. JVM은 클래스가 로드될 때 바이트코드를 다시 확인하고, 바이트코드가 허용되어서는 안되는 작업을 시도할 때 verifyError를 발생시킵니다.
https://stackoverflow.com/questions/100107/causes-of-getting-a-java-lang-verifyerror
728x90
반응형
'Programming > Java' 카테고리의 다른 글
[Java]File Write/쓰기 (OutputStream/BufferedOutputStream) (0) | 2024.06.08 |
---|---|
[Java]File 읽기/Read (FileInputStream, BufferedInputStream) (0) | 2024.06.08 |
[Java]File 읽기(read)/쓰기(write) (0) | 2024.06.08 |
[Java-자바]인터페이스(interface) (0) | 2017.02.05 |
[Java-자바]추상 클래스 및 추상 메서드(abstract class and abstract method) (1) | 2017.02.04 |