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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 16:12:12673browse

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

Class Accessibility Restricted Due to rt.jar Library Restriction

You encounter an error when compiling Java 1.4 code in Java 5 using Eclipse. The error message states that the type javax.xml.namespace.QName is inaccessible due to restrictions on the rt.jar library. This issue often arises when working with stubs generated by IBM's WSDL2Java tool.

Root Cause

The error occurs because the rt.jar library in your Java 5 runtime environment contains a conflicting version of the javax.xml.namespace.QName class that is different from the version used in the generated stubs. This version incompatibility leads to access restrictions.

Solution

Instead of recreating the stubs, you can try the following solution:

  1. Right-click your project in Eclipse's Package Explorer and select Properties.
  2. Navigate to Java Build Path > Libraries.
  3. Remove the JRE System Library entry.
  4. Click Add Library and select JRE System Library.
  5. Select the default JRE and click OK.

Reason

Removing and re-adding the JRE System Library ensures that the correct version of javax.xml.namespace.QName is loaded first. By default, Eclipse might load the conflicting version from the rt.jar library, causing the access restriction.

Note

If you encounter similar conflicts with other classes, you can exclude specific JAR files that contain conflicting versions from your build path. This ensures that the desired versions are loaded first.

The above is the detailed content of Why is javax.xml.namespace.QName Inaccessible When Compiling Java 1.4 Code in Java 5?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn