問題


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

“。さて、コードはコンパイルできるはずですが、いくつかの警告メッセージが表示されます。


eclipse-access-rules-error、width = 584、height = 501

上記の解決策は推奨されていませんので、 `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’パッケージを呼び出すプログラムを書くべきではありません]