我试图在Java5上编译由IBM的WSDL2Java创建的Java1.4代码,而不重新创建存根,并在Eclipse中看到了这个错误。我的假设是,只要运行时jar可用(它们可用),生成的存根就应该编译。
访问限制:由于对所需库C:\Program Files\Java\jdk1.5.0_16\jre\lib\rt.jar的限制,QName类型不可访问
完整类名为javax.xml.namespace.QName
这里到底发生了什么?这是我试图用香肠重构猪的例子吗?我最好重新创建存根吗?
我试图在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。