我试图在Java5上编译由IBM的WSDL2Java创建的Java1.4代码,而不重新创建存根,并在Eclipse中看到了这个错误。我的假设是,只要运行时jar可用(它们可用),生成的存根就应该编译。

访问限制:由于对所需库C:\Program Files\Java\jdk1.5.0_16\jre\lib\rt.jar的限制,QName类型不可访问

完整类名为javax.xml.namespace.QName

这里到底发生了什么?这是我试图用香肠重构猪的例子吗?我最好重新创建存根吗?


当前回答

http://www.digizol.com/2008/09/eclipse-access-restriction-on-library.html对我来说效果最好。

在Windows上:Windows->首选项->Java->编译器->错误/警告->不推荐和受限制的API->禁止的引用(访问规则):->更改为警告

在Mac OS X/Linux上:Eclipse->首选项->Java->编译器->错误/警告->不推荐和受限制的API->禁止的引用(访问规则):->更改为警告

其他回答

只需更改项目的构建路径库的顺序。右键单击项目>构建路径>配置构建路径>选择顺序和导出(选项卡)>更改条目的顺序。我希望将“JRE系统库”移到底部会起作用。这对我来说很有效。简单又简单。。。。!!!

转到项目财产中的“生成路径”设置。Windows->首选项->Java编译器删除JRE系统库添加另一个具有“完美匹配”的JRE清理并重新构建项目。这对我有用。

对我来说,我是这样解决的:

转到当前项目的生成路径

在库下

选择“JRE系统库[jdk1.8xxx]”单击“编辑”并选择“工作区默认JRE(jdk1.8xx)”或“备用JRE”单击“完成”单击“确定”

注意:确保在Eclipse/Preferences(而不是项目)/Java/Installed JRE中,jdk指向jdk文件夹,而不是JRE C:\Program Files\Java\jdk1.8.0_74

http://www.digizol.com/2008/09/eclipse-access-restriction-on-library.html对我来说效果最好。

在Windows上:Windows->首选项->Java->编译器->错误/警告->不推荐和受限制的API->禁止的引用(访问规则):->更改为警告

在Mac OS X/Linux上:Eclipse->首选项->Java->编译器->错误/警告->不推荐和受限制的API->禁止的引用(访问规则):->更改为警告

我也有这个问题。显然,我在构建路径中将JRE设置为1.5而不是1.6。