解決import sun包時error

 

錯誤情景:java

 

import sun.net.dns.ResolverConfiguration;spa

 

import sun.net.util.IPAddressUtil;操作系統

 

編譯器提示Error.net

 

解決方案:rest

 

若是你用的是Eclipse   dns

在preference->java->complier->errors/warning->deprecated and restricted API把 Forbidden reference 的Error改爲warning 便可接口

緣由是:AudiStream 類在 sun.audio.*包下ip

J2SE中的類大體能夠劃分爲如下的各個包:java.*,javax.*,org.*,sun.*開發

  除了「sun」包,其它各個包都是Java平臺的標準實現,而且從此也將被繼續支持。通常說來,「sun」之類的包並不包含在Java平臺的標準中,它與操做系統相關,在不一樣的操做系統(如Solaris,Windows,Linux,Mac等等)中的實現也各不相同,而且可能隨着J2SE版本不按期變化。所以,直接調用「sun」包的程序代碼並非100%的Java實現。文檔

  也就是說:「java.*」包,「javax.*」包,「org.*」包是做爲J2SE的API公開接口的一部分,若是程序直接調用這些包中的API,那麼程序是能夠運行在全部Java平臺上,而與操做系統無關;但「sun.*」包並非API公開接口的一部分,調用「sun」包的程序並不能確保工做在全部Java平臺上,事實上,這樣的程序並不能工做在從此的Java平臺上。

  正由於如此,「sun.*」包中的類並無提供API文檔。平臺無關性是Java語言最大的優點之一,此外,SUN和Java許可證確保維持了從此API的向上兼容性(之後修改的那些有嚴重bug的代碼除外)。這種兼容性意味着你寫好的程序編譯成的cl ass文件仍然能夠工做在未來的版本當中。

  每家實現Java平臺的廠商均可以使用他們本身的方式。「sun.*」包中的類是SUN 對Java平臺的實現方式,它們工做在Java 2 SDK的下層,這些類未必被其它Java 平臺開發商支持。好比你的Java程序若是調用了一個名爲「sun.package.Foo」的類,將有可能產生「ClassNotFoundError」的錯誤,同時你也將失去利用Java的一個主要的優勢。

相關文章
相關標籤/搜索