【トラブル】【Java】エラー「Access restriction:The type 'XX' is not API」が表示される

症状

 * 以下のURLのサンプルを試したくて、「import sun.security.xxxx」をインポートしたら、
  以下の【エラー内容】が表示され、ビルドエラーになる。
http://stackoverflow.com/questions/8160606/how-do-you-generate-a-csr-in-java-without-signing-it-by-the-requester

エラー内容

Access restriction: The type 'PKCS10' is not API
 (restriction on required library 'C:\Program Files\Java\jre1.8.0_20\lib\rt.jar')

解決方法1

1. [Window]-[Preferences]を選択
2. [Java]-[Compiler]-[Error/Warning]を選択
3. [Deprecated and restrited APIs]-[Forbidden reference (acess rule)]で、Errorから、Ignore(無視)または、Warning(警告)を選択

関連記事

 * 上記の関連記事で書いてあるトラブルも同じの解決方法で切り抜けた
http://blogs.yahoo.co.jp/dk521123/19552752.html

解決方法2

* 上記の「解決方法」でもできるが別の解決法もあるので、記録しておく
1. 対象のプロジェクトを右クリックし、[Java Build Path]-[Libraries]を選択
2. [JRE System Library[JavaSE-1.X]]-[Access rules xxxx]-[Edit]を選択
3. 「Add」ボタン押下し、以下のように設定し、「OK」ボタン押下し、更に「OK」ボタン押下

[設定例(importしたい対象が「import sun.security.xxxx」の場合)]
 * Resolution:   Accessible
 * Rule Pattern: sun/security/**

解決方法3

1. 対象のプロジェクトを右クリックし、[Java Build Path]-[Libraries]を選択
2. [JRE System Library[JavaSE-1.X]]をダブルクリック
3. System Libraryで「Workspace default JRE(jre1.X.X_XX)」を選択し、「Finish」ボタン押下し、「OK」ボタン押下

参考文献

「解決方法1」について
http://d.hatena.ne.jp/muimy/20090505/1241500596
「解決方法2」について
http://blog.bitmeister.jp/?p=1486

関連記事

The type JPEGCodec is not accessible due to restriction on required library

http://blogs.yahoo.co.jp/dk521123/19552752.html