The type handler is not accessible due to restriction on required library rt.jar

参考:http://stackoverflow.com/questions/860187/access-restriction-on-class-due-to-restriction-on-required-library-rt-jar


【报错】

multiple markers at this line
Access restriction: the constructor Handler() is not accessible due to restriction on required library c:\program files\java\jre7\lib\rt.jar
Access restriction: the type handler is not accessible due to restriction on required library c:\program files\java\jre7\lib\rt.jar


【解决】

  1. 工程 -> Build Path -> Configure Build Path -> Libraries
  2. 删除 JRE System Library
  3. Add libraray -> 重新添加 JRE System Library

【解释】

StackOverflow: This works because you have multiple classes in different jar files. Removing and re-adding the jre lib will make the right classes be first. If you want a fundamental solution make sure you exclude the jar files with the same classes.

因为工程使用的多个jar中的多个class是同样的class,但其中只有一个是正确的class。删除JRE library再重新添加它,会让Eclipse找到正确的class。更彻底的解决方法是,定位并明确摒弃不正确的同名class。


你可能感兴趣的:(The type handler is not accessible due to restriction on required library rt.jar)