1. 程式人生 > >解決找不到sun.misc.BASE64Encoder 的jar包問題

解決找不到sun.misc.BASE64Encoder 的jar包問題

*問題:

  在MyEclipse中用到了BASE64Decoder類,也沒辦法import sun.misc.BASE64Decoder;

  Eclipse提示如下:

   Access restriction: The type BASE64Decoder is not accessible due to restriction on required library C:\Program files\java\jre6\lib\rt.jar 

  Access restriction : The constructor BASE64Decoder() is not accessible due to restriction on required library C:\Program files\java\jre6\lib\rt.jar 

*解決時要看jre的型別:

  檢視工程properties->Java Build path->Libraries,雙擊System library檢視配置:

  1、預設jre的型別是execution environment,rt.jar中的很多包都會因為jre與jdk許可權不同而導致被限定許可權,例如sun包。因為BASE64Encoder是sun公司的內部方法,並沒有在API中公開,所以使用這些方法是不安全的,因為可能會被更改。所以解決時應該使用替代的物件及方法:

org.apache.commons.codec.binary.Base64類

  官方地址:http://commons.apache.org/codec/

  官方API:http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64.html

  2、也可選擇Alternate JRE,用JDK替代jre。因為使用的是jdk的許可權,所以不會報這類的錯誤。