Home >Java >javaTutorial >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:
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!