由于对所需库的限制而对类进行访问限制

Jas*_*n S 19 java eclipse

我在Eclipse中收到此错误消息:

Access restriction: The type DirectoryWalker is not accessible
due to restriction on required library 
/Library/Java/Extensions/commons-io-1.4.jar
Run Code Online (Sandbox Code Playgroud)

这是什么意思?关于同一主题还有其他SO问题,但在这种情况下似乎并不适用.我不是在创建一个新的java类,我正在尝试使用它.

小智 75

转到java构建路径,在Library选项卡下,删除JRE System Library.然后再次添加库 - > JRE系统库

为我工作

  • 很好找.这肯定是最好的答案. (3认同)
  • 荒诞.有JavaFX的问题获得"访问限制",这个技巧修复了它!谢谢! (2认同)

小智 13

这是我最不喜欢的错误,我已经碰到了几次,而且"对所需库的限制"只是让你感到愚蠢.但是,它很容易修复.

最快的方式(我正在使用Helios)是转到Window-> Preferences-> Java-> Compiler-> Errors/Warnings,找到并打开"Deprecated and Restricted API"项目符号,并设置Forbidden and Discouraged Reference to something除了错误.

"警告"通常是最好的,因为Java领域的东西正在触发这个,你可能想要一个脚注.@SuppressWarnings及其表兄弟,98%的时间,对程序员的个人和社交逻辑都有同样的影响,比如,一个以太狂欢可能.但这只是我的拙见.

祝你好运!

  • 你真的有一个最喜欢的错误,那么? (6认同)

Tom*_*ine 6

猜测你正在使用的另一个库也需要Apache Commons I/O,但需要不同的版本.拥有一段代码(可传递地)可以访问相同包的两个版本有点棘手.您可以安排它,以便您的代码和其他库使用相同的版本.使用CLASSPATH会更容易!:)