OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
<GPT> OpenJDK 64-Bit Server VM 경고 메시지는 "Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release"라고 지정된 것은 해당 옵션이 자바 개발 키트(JDK)의 13번째 버전부터 더 이상 권장되지 않으며, 향후 릴리즈에서는 이 옵션이 제거될 것이라는 것을 알리는 경고입니다.
여기서 -Xverify:none
또는 -noverify
옵션은 자바 가상 머신(JVM)이 클래스를 로드할 때 바이트코드 검증을 건너뛰도록 지시하는 옵션입니다. 이 검증 과정은 클래스 파일이 JVM 사양에 맞게 잘 형성되어 있고, 안전하게 실행될 수 있는지를 확인하는 중요한 단계입니다.
그러나, 바이트코드 검증 과정은 애플리케이션의 시작 시간에 영향을 줄 수 있기 때문에, 성능을 위해 일부 개발자들은 이 과정을 건너뛰도록 설정하기도 했습니다. 하지만 이는 보안과 안정성을 해칠 수 있으므로, JDK 13부터는 이러한 옵션 사용을 권장하지 않게 된 것입니다.
앞으로는 이 옵션들을 사용하지 않는 것이 좋으며, 만약 이 경고 메시지가 표시된다면 자바 어플리케이션을 실행하는 스크립트나 설정에서 해당 옵션을 제거해야 합니다. 검증 과정을 건너뛰는 것이 정말 필요한 특별한 경우가 아니라면, JVM의 기본 동작을 따르는 것이 좋습니다.
→ 스택오버플로우에 있는 링크에 들어가서 다운받으면 된다.
→ 체크되어있는 것을 체크해제 해주면 되는 것이다.
<구글링> 해당 오류는 JDK 1.8 버전 이후에 추가된 기능으로, 클래스 로딩 시 Class Data Sharing(CDS) 기능을 사용하면 발생합니다. 이 오류는 경고 메시지이며, 어플리케이션에 직접적인 영향을 주지는 않습니다.
하지만 이 오류를 없애려면 다음과 같은 방법이 있습니다.
- Xshare:off 옵션을 사용하여 CDS 비활성화
- 클래스 로딩 전에 CDS를 직접 사용하여 미리 클래스 정보 공유파일을 생성하여 사용
해당 오류는 어플리케이션 구동에 직접적인 영향을 미치지 않기 때문에 일단은 무시하셔도 됩니다. 하지만 성능 개선을 원하실 경우 위의 방법을 시도해보시면 좋을 것 같아요.
추가적으로, 해당 오류에 대한 자세한 내용은 OpenJDK 공식문서를 참고하시면 더욱 자세한 이해를 하실 수 있을 것입니다.
build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//테스트에서 lombok 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
}
최신 db를 설치하면 절대 안된다. build.gradle에 있는 선택한 H2 db와 맞춰줘야한다. (스프링부트가 기본적으로 h2와 통신하기 위해 자동으로 잡아준 것이다.) → 나는 2.2.224버전을 다운 받아야한다. 그래야 여기서 접근하는 클라이언트 라이브러리랑 서버랑 버전이 같아야 문제가 안 생긴다.