アクセス制限:制限のためBASE64Encoderにアクセスできません
問題
AmazonサービスのアレクサAPI
からJavaサンプルをダウンロードし、Eclipseにインポートしますが、「
アクセス制限
」エラーに続いてコンパイルおよびヒットすることはできません:
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 JDK 1.6およびEclipse IDE 4.2
の使用
import sun.misc.BASE64Encoder;//Access restriction error //... result = new BASE64Encoder().encode(rawHmac);
解決策
`sun。** ‘パッケージを使用することは避けてください。これについてはhttp://www.oracle.com/technetwork/java/faq-sun-packages-142232.htmlを参照してください。
`sun.misc.BASE64Encoder`をEclipseで使用したい場合は、プロジェクト – プロパティー – > Javaコンパイラ – >エラー/警告 – >廃止予定の制限付きAPI – >禁止参照(アクセスルール)を右クリックし、デフォルトの ”
Error
“〜 ”
Warning
“。さて、コードはコンパイルできるはずですが、いくつかの警告メッセージが表示されます。
上記の解決策は推奨されていませんので、 `sun.misc.BASE64Encoder`をhttp://commons.apache.org/codec/[Apache common codecのような他のBASE64クラスに置き換えてください。
import org.apache.commons.codec.binary.Base64; //... result = new Base64().encodeToString(rawHmac);
参考文献
開発者は ‘sun’パッケージを呼び出すプログラムを書くべきではありません]