Access restriction: The type * is not accessible due to restrict(受规则限制无法访问java类)

使用System.out.println(java.util.Arrays.asList(sun.misc.Launcher.getBootstrapClassPath().getURLs()).toString());打印引导类加载器加载类路径时,报"Access restriction: The method getBootstrapClassPath()...",意思就是这个方法受规则限制,无法访问。之后用了下面第三种方案得到了解决。

 

解决方案1:

Eclipse 默认把这些受访问限制的API设成了ERROR。
Windows -> Preferences -> Java -> Compiler -> Errors/Warnings ->
Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning

解决方案2:
只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了。

解决方案3:

工程上右键->工程属性->java builder path->Libraries标签,点击JRE System Library里面的Access rules,add sun/** 为accessible,如果该项存在,就edit。

解决方案4:

Windows -> Preferences -> Java -> Installed JREs -> 选择用的JDK -> Edit -> Add External JARs

你可能感兴趣的:(Access)