Ограничение доступа: тип BASE64Encoder недоступен из-за ограничения

Ограничение доступа: тип BASE64Encoder недоступен из-за ограничения

проблема

Загрузил образец Java изAlexa API on Amazon service, импортирует его в 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.BASE64Encoder другим классом BASE64, напримерApache common codec.

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

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