Eclipse 出現Access restriction(訪問jar包限制)錯誤

錯誤信息Access restriction: the type * is not accessible due to restriction on required library *.jar

              Access restriction:The method * is not accessible due to restriction on required library *.jar


原因分析:Eclipse環境下,項目中導入某些JAR,使用這些JAR中的某些API。結果出現Access restriction錯誤

Access restriction的原因是因爲這些JAR默認包含了一系列的代碼訪問規則(Access Rules),如果代碼中引用了這些訪問規則所禁止引用類,可能是標記棄用或者其他訪問權限問題,那麼就會提示這個錯誤信息。

解決方案

1.既然存在訪問規則,那麼修改訪問規則即可。打開項目的Build Path Configuration頁面,展開報錯的JAR包或者目錄,選中Access rules條目,選擇右側的編輯按鈕,添加一個訪問規則即可。 

2.修改[Project] -> Properties -> Java Build Path -> Libraries -> Remove JRE System Library

  Add Library -> JRE System Library -> Click OK

3.網上的另外一種解決方案:Window - preference - Java - Compiler - Errors/Warnings界面的Deprecated and restricted API下。把Forbidden reference (access rules): 的規則由默認的Error改爲Warning。

ps.這種方案是修改整個Eclipse開發環境,將所有禁止訪問的引用由原來的Error(默認)修改爲Warning。這種規避方式比較粗暴,個人支持第一種方案。



發佈了51 篇原創文章 · 獲贊 8 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章