필수 라이브러리 rt.jar에 대한 액세스 제한: 스텁을 다시 생성하지 않고 Java 1.4 코드를 Java 5에서 컴파일할 수 있습니까?
컴파일하려고 할 때 스텁을 다시 생성하지 않고 Java 5에서 IBM의 WSDL2Java에 의해 생성된 Java 1.4 코드 Eclipse에서 접근 제한 오류가 발생할 수 있습니다. "액세스 제한: 필수 라이브러리 rt.jar에 대한 제한으로 인해 QName 유형에 액세스할 수 없습니다." 오류는 필수 라이브러리(rt.jar) 액세스가 제한되어 있음을 나타냅니다.
이 문제는 스텁이 Java 1.4용으로 생성된 코드는 Java 5에서 사용되는 런타임과 다른 Java 1.4 런타임의 클래스를 사용할 수 있습니다. Java 5에 포함된 rt.jar 라이브러리에는 생성된 코드에 필요한 클래스가 포함되어 있지 않을 수 있습니다.
스텁을 다시 만드는 대체 솔루션
스텁을 다시 만들 필요 없이 이 문제를 해결할 수 있는 대체 솔루션이 있습니다. 단계는 다음과 같습니다.
이 솔루션은 서로 다른 클래스의 여러 클래스가 작동하므로 작동합니다. jar 파일이 프로젝트에 있을 수 있습니다. JRE 시스템 라이브러리를 제거하고 다시 추가하면 올바른 클래스의 우선 순위가 지정됩니다.
기본 솔루션 보장
보다 근본적인 솔루션을 위해 다음을 포함하는 jar 파일이 있는지 확인하세요. 동일한 클래스는 프로젝트에서 제외됩니다. 이렇게 하면 JRE 시스템 라이브러리의 필수 클래스가 사용되도록 하여 다양한 소스의 클래스 간의 충돌을 방지할 수 있습니다.
예:
javax.xml이 있는 경우 .soap.SOAPPart는 세 개의 jar 파일(axis-saaj-1.4.jar, saaj-api-1.3.jar 및 rt.jar)에 있습니다. 처음 두 jar 파일을 제외하면 JRE 시스템 라이브러리의 SOAPPart 클래스가 사용되어 액세스 제한 오류가 해결됩니다.
위 내용은 스텁을 다시 작성하지 않고도 Java 1.4 코드를 Java 5에서 컴파일할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!