itsource

Java 11을 사용한 디버깅 중 "부트스트랩 클래스 경로가 추가되었기 때문에 공유는 부트 로더 클래스에 대해서만 지원됩니다" 경고를 피하는 방법

mycopycode 2023. 1. 19. 07:09
반응형

Java 11을 사용한 디버깅 중 "부트스트랩 클래스 경로가 추가되었기 때문에 공유는 부트 로더 클래스에 대해서만 지원됩니다" 경고를 피하는 방법

최근에 Java 11로 전환하여 앱 디버깅을 시작하고 다음 메시지를 보았습니다.

OpenJDK 64비트 서버 VM 경고:부트스트랩 클래스 경로가 추가되었기 때문에 공유는 부트 로더 클래스에 대해서만 지원됩니다.

커밋티켓만 찾았지만, 많은 것을 알 수 없었습니다.

걱정해야 하나요?

jdk-12.0.1_windows-x64_bin.zip인텔리J IDEA에서 디버거를 사용하려고 할 때.(Java HotSpot(TM) 64비트 서버 VM 경고: 부트스트랩 클래스 경로가 추가되었기 때문에 공유는 부트 로더 클래스에 대해서만 지원됩니다).설정 및 비동기 검색으로 이동하여 Instrumenting 에이전트 상자를 선택 취소한 것도 확인했습니다.날 위해 일했다!비동기 설정

이 경고는 무시해도 됩니다.이는 부트스트랩클래스 로더에 의해 로드되지 않은 클래스에 대해 클래스 데이터 공유가 비활성화됨을 의미합니다.

시작 시간 단축 […]응용 프로그램 클래스 데이터 공유:

JVM은 일부 JDK 클래스를 부트스트랩 클래스 로더와 함께 로드하고 나머지는 시스템 클래스 로더와 함께 로드하지만 기본 아카이브에 모두 포함합니다.IntelliJ는 프로젝트를 실행할 때 JVM에 해당 클래스 경로(메시지의 두 번째 부분)에 추가함으로써 부트스트랩 클래스 로더에 일부 코드를 로드하도록 지시합니다.즉, 시스템 클래스 로더에 의해 로드된 클래스를 포함하는 아카이브 부분이 잠재적으로 비활성화되므로 JVM이 공유를 부분적으로 비활성화합니다(메시지의 첫 부분).

할 수 .-Xshare:off퍼포먼스가 떨어집니다.

Intelij Idea에서 디버거를 사용하려고 할 때 Java12를 설치한 후 이 문제가 발생하였습니다.찾은 해결책은 설정 및 비동기 검색으로 이동하여 Instrumenting 에이전트 상자의 선택을 취소하는 것입니다.

때및를 사용했을 하였습니다.-javaagent:/dd-java-agent.jar에이전트 없이 JDK11 런타임 환경에서 실행했을 때 경고가 표시되지 않았습니다.

Intellij IDE -> Settings / Preferences 대화상자(Ctrl+Alt+S)에서 Build | Execution | Deployment | Debugger | Async -> Instrumenting Agent 체크박스를 해제합니다.

조작 가이드

1. [설정] 옵션을 엽니다.

2. 빌드, 실행, 도입 옵션을 찾습니다.

3. 디버거 --> 비동기 스택 트레이스를 입력합니다.

4. Instrumenting 에이전트를 확인합니다(디버거 재시작 필요).


자세한 것은, 이쪽을 참조해 주세요.

중요하지 않은 경우 jdk 버전을 변경할 수 있습니다.jdk14에서 jdk11로 바뀌었어요잘 되길 바랍니다.

같은 문제가 생겨서 위와 같이 해결하려고 했다.

하지만 설정을 변경하지 않고 다른 문제를 해결했습니다.

중단점을 삽입하고 디버깅할 파일의 마우스 오른쪽 버튼을 누릅니다.그런 다음 "Debug ur file name"을 선택합니다.method().

도구 창의 디버깅 버튼을 사용하지 마십시오.디버깅하려는 파일을 Idea가 인식하지 못하는 것이 문제인 것 같습니다.

비동기 설정을 변경하지 않고 동작했습니다.

스크린샷

같은 문제를 얻어서 위의 모든 방법으로 해결하려고 했다.

그러나 여전히 파일을 디버깅할 수 없는 유일한 이유는 프로그램을 디버깅하기 전에 디버깅 포인트를 어느 시점까지 설정할 필요가 있기 때문입니다.따라서 그림에 표시된 위치를 클릭하여 디버깅 포인트를 설정하면 프로그램이 쉽게 디버깅됩니다.아무것도 하지 않고요.여기에 이미지 설명 입력

IntelliJ의 이 경고는 무해합니다(https://stackoverflow.com/a/57957031/779173) 참조). 행을 오른쪽 클릭하여 "이렇게 접기 선"을 선택하면 콘솔 보기에서 선을 숨길 수 있습니다.

이렇게 하면 다음과 같은 사실을 알 수 있습니다.

"C:\Program Files\Java\jdk-17.0.2\bin\java.exe" ... <1 internal line>

Java 버전은 9 이상이어야 합니다.

여기에 이미지 설명 입력

오늘 당신과 같은 질문을 찾았습니다.상황: 중단점을 설정하지 않는 동안 디버깅 해결 방법: 디버깅 버튼을 클릭하기 전에 적어도 하나의 중단점을 설정합니다.

코드 라인의 왼쪽에 빨간색 점을 찍어야 디버깅이 됩니다.그렇지 않으면 인텔리J에서 이 메시지를 받습니다.

언급URL : https://stackoverflow.com/questions/54205486/how-to-avoid-sharing-is-only-supported-for-boot-loader-classes-because-bootstra

반응형