Java 9의 불법 반사 액세스: 자세한 조사
Java 9에서는 불법 반사 액세스 개념이 도입되어 zahlreichen이 발생했습니다. 해결 방법 이 오류 메시지에 대한 질문입니다. 이 문서에서는 불법 반사 액세스의 특성, 경고를 트리거하는 상황 및 가능한 해결 방법을 자세히 살펴보겠습니다.
Java 9의 모듈 시스템에는 불법 반사 액세스를 이해하는 데 핵심이 되는 모듈성#강력한 캡슐화 완화 개념이 도입되었습니다. 모듈의 코드를 통해 다른 모듈 코드 및 표시되는 패키지에 액세스하는 것은 엄격하게 제어됩니다. 그러나 Java 9의 경우 모듈의 강력한 캡슐화가 완화될 수 있습니다.
런타임 시스템은 다음 작업을 제공할 수 있습니다.
불법 접근의 개념
다음과 같은 상황에서 리플렉션 API가 성공적으로 호출되면 "불법" 리플렉션 액세스가 발생합니다.
경고 실행 메커니즘
Java 9의 캡슐화 완화는 새로운 시작 옵션 --illegal-access를 통해 컴파일 타임에 제어할 수 있습니다. 기본적으로 이 옵션은 허용으로 설정됩니다. 이 모드에서는 해당 패키지에 대한 첫 번째 반영된 액세스 작업이 경고를 트리거하지만 추가 경고는 발행되지 않습니다. 이 경고에는 추가 경고를 활성화하는 방법에 대한 정보가 포함되어 있습니다.
구성 옵션
--illegal-access 옵션은 다음 모드로 구성할 수 있습니다.
디버깅 및 복구 권장 사항
경고 메시지 예시
불법적인 반사 접근 연산이 감지될 때 내보내는 경고 메시지는 다음 형식을 따릅니다.
WARNING: Illegal reflective access by $PERPETRATOR to $VICTIM
여기서:
주의 사항
이러한 경고를 방지하고 향후 보안을 보장하려면 모듈에서 이러한 불법 반사 액세스를 수행하지 않도록 해야 합니다.
위 내용은 Java 9에서 '불법 반사 액세스' 경고를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!