アクセス制限:制限のためBASE64Encoderにアクセスできません

アクセス制限:タイプBASE64Encoderは制限のためアクセスできません

問題

Alexa API on Amazon serviceからJavaサンプルをダウンロードし、Eclipseにインポートしましたが、コンパイルできず、次の「Access restriction」エラーが発生しました。

Access restriction: The type BASE64Encoder is not accessible due to restriction
on required library
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar

P.S Using JDK 1.6 and Eclipse IDE 4.2

import sun.misc.BASE64Encoder; // Access restriction error

   //...
   result = new BASE64Encoder().encode(rawHmac);

溶液

sun.*パッケージの使用は避ける必要があります。このstatementをお読みください。

sun.misc.BASE64Encoderを使用する場合は、Eclipseでプロジェクトを右クリックし、プロパティ→Javaコンパイラ–>エラー/警告–>非推奨および制限付きAPI –>禁止されている参照(アクセスルール)、デフォルトの「Error」から「Warning」。 これで、コードはコンパイルできるはずですが、いくつかの警告メッセージが表示されます。

eclipse-access-rules-error

上記の解決策はお勧めしません。sun.misc.BASE64EncoderApache common codecなどの他のBASE64クラスに置き換える必要があります。

import org.apache.commons.codec.binary.Base64;

    //...
    result = new Base64().encodeToString(rawHmac);