由于对所需库rt.jar的限制而对类进行访问限制?
我试图编译由Java的WSDL2Java创建的Java 1.4代码,而无需重新创建存根,并在Eclipse中看到此错误。 我假设创建的存根应该只在运行时罐子可用时才进行编译(它们是)。
Access restriction: The type QName is not accessible due to restriction on required library C:Program FilesJavajdk1.5.0_16jrelibrt.jar
完整的类名是javax.xml.namespace.QName
这里到底发生了什么?
这是我试图从香肠重构猪的情况吗? 我最好重新创建存根吗?
还有另一种解决方案也可以。
这是有效的,因为你在不同的jar文件中有多个类。 删除并重新添加JRE库将使正确的类成为第一个。 如果你想要一个基本的解决方案,请确保你排除了具有相同类的jar文件。
对我来说,我有: javax.xml.soap.SOAPPart
在三个不同的jar: axis-saaj-1.4.jar
, saaj-api-1.3.jar
和rt.jar
http://www.digizol.com/2008/09/eclipse-access-restriction-on-library.html最适合我。
在Windows上: Windows - >首选项 - > Java - >编译器 - >错误/警告 - >弃用和受限API - >禁止引用(访问规则): - >更改为警告
在Mac OS X / Linux上: Eclipse - >首选项 - > Java - >编译器 - >错误/警告 - >弃用和受限API - >禁止引用(访问规则): - >更改为警告
我遇到了同样的问题。 我在网站上找到了答案:http://www.17ext.com。
首先,删除JRE系统库。 然后,再次导入JRE系统库。
我不知道为什么。但它解决了我的问题,希望它能帮助你。
链接地址: http://www.djcxy.com/p/2027.html上一篇: Access restriction on class due to restriction on required library rt.jar?
下一篇: Why don't C++ compilers define operator== and operator!=?