> Java > java지도 시간 > Java 5에서 Java 1.4 코드를 컴파일할 때 javax.xml.namespace.QName에 액세스할 수 없는 이유는 무엇입니까?

Java 5에서 Java 1.4 코드를 컴파일할 때 javax.xml.namespace.QName에 액세스할 수 없는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-19 16:12:12
원래의
697명이 탐색했습니다.

Why is javax.xml.namespace.QName Inaccessible When Compiling Java 1.4 Code in Java 5?

rt.jar 라이브러리 제한으로 인해 클래스 접근성이 제한됨

Eclipse를 사용하여 Java 5에서 Java 1.4 코드를 컴파일할 때 오류가 발생합니다. 오류 메시지는 rt.jar 라이브러리에 대한 제한으로 인해 javax.xml.namespace.QName 유형에 액세스할 수 없음을 나타냅니다. 이 문제는 IBM의 WSDL2Java 도구로 생성된 스텁으로 작업할 때 자주 발생합니다.

근본 원인

Java 5 런타임 환경의 rt.jar 라이브러리에 다음이 포함되어 있기 때문에 오류가 발생합니다. 생성된 스텁에 사용된 버전과 다른 javax.xml.namespace.QName 클래스의 충돌 버전입니다. 이 버전 비호환으로 인해 액세스가 제한됩니다.

해결책

스텁을 다시 만드는 대신 다음 해결 방법을 시도해 볼 수 있습니다.

  1. 맞습니다 -Eclipse의 패키지 탐색기에서 프로젝트를 클릭하고 선택하십시오. 속성.
  2. Java 빌드 경로 >로 이동합니다. 라이브러리.
  3. JRE 시스템 라이브러리 항목을 제거합니다.
  4. 라이브러리 추가를 클릭하고 JRE 시스템 라이브러리를 선택합니다. .
  5. 기본 JRE를 선택하고 확인.

이유

JRE 시스템 라이브러리를 제거하고 다시 추가하면 javax.xml.namespace의 올바른 버전이 보장됩니다. .QName이 먼저 로드됩니다. 기본적으로 Eclipse는 rt.jar 라이브러리에서 충돌하는 버전을 로드하여 액세스 제한을 초래할 수 있습니다.

참고

다른 클래스와 유사한 충돌이 발생하면 빌드 경로에서 충돌하는 버전이 포함된 특정 JAR 파일을 제외할 수 있습니다. 이렇게 하면 원하는 버전이 먼저 로드됩니다.

위 내용은 Java 5에서 Java 1.4 코드를 컴파일할 때 javax.xml.namespace.QName에 액세스할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿