`
vaniice
  • 浏览: 41218 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

解决import sun包时error

 
阅读更多

解决import sun包时error

 

错误情景:

import sun.net.dns.ResolverConfiguration;

import sun.net.util.IPAddressUtil;

编译器提示Error

解决方案:

如果你用的是Eclipse   

在preference->java->complier->errors/warning->deprecated and restricted API把 Forbidden reference 的Error改成warning 即可

原因是:AudiStream 类在 sun.audio.*包下

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的一个主要的优点。

分享到:
评论

相关推荐

    import com.sun.image.codec.jpeg.JPEGImageEncoder;包的下载

    base64找不到下面连个jar包也可以解决 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; 报错: Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required...

    JAVA HTTP 发送 接收 com.sun.net.httpserver包 demo

    在这个例子中,我们创建了一个监听8000端口的服务器,并设置了一个处理器`MyHandler`,当收到`/hello`的请求时,服务器返回"Hello, World!"。 接下来,讲解如何使用`HttpURLConnection`或`java.net.URL`发送HTTP...

    Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

    但是,有时引入这两个包时会报出错误:`Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:/Java/jre1.6.0_07/lib/rt.jar`。 解决方法一:修改全局属性 ...

    springBoot 打war包 程序包com.sun.istack.internal不存在的问题及解决方案

    SpringBoot是一种广泛使用的Java开发框架,它简化了基于Spring的应用开发。其中,将SpringBoot应用打包成WAR...总之,通过上述步骤和方法,通常可以解决SpringBoot打包WAR时com.sun.istack.internal包不存在的问题。

    istack包处理少包问题

    7. **使用全限定名**: 在代码中,确保使用了类的全限定名(包括包名和类名),例如`import com.sun.istack.localization.Localizable`。 在修复这类问题时,理解Java的类加载机制和项目构建过程非常重要。类加载器...

    sun.misc.BASE64Encoder 找不到

    然而,由于这个类属于Sun Microsystems的内部实现细节,自Java 9开始,它被标记为废弃,并在后续版本中逐步移除,因此在较新的Java环境中,尝试使用`sun.misc.BASE64Encoder`可能会导致编译错误或运行时异常。...

    解决idea中Springboot找不到BASE64Encoder或Decoder的jar包

    在使用IntelliJ IDEA(简称Idea)开发Spring Boot项目时,可能会遇到找不到`BASE64Encoder`或`BASE64Decoder`相关jar包的问题。这两个类是Java中用于进行Base64编码和解码的工具,它们在早期的Java版本(如Java 8及...

    关于引入com.sun.org.apache.xpath.internal.operations.String后右键RUN选项消失

    当发现此类问题时,应该立即检查代码中的`import`语句,移除误导入的`com.sun.org.apache.xpath.internal.operations.String`,并确保所有对字符串的操作都使用`java.lang.String`。此外,对于XML解析和XPath处理,...

    python导入csv文件出现SyntaxError问题分析

    本文将详细介绍如何解决Python导入CSV文件时出现的SyntaxError问题,并探讨几种导入CSV文件的方法。 #### SyntaxError问题分析 当尝试使用`numpy`的`loadtxt`函数读取CSV文件时,可能会遇到以下错误: ```python ...

    java获取硬盘序列号的两种方法

    2. **非公开API**:Java中使用`sun.misc`包的类是未公开的,这意味着它们可能会在未来的Java版本中被移除或更改。使用这些类时需谨慎。 3. **权限问题**:读取注册表或使用WMI可能需要相应的权限,特别是当Java应用...

    SCJP 中文大纲sun JAVA2认证程序员 平台1.4

    这部分涉及包声明、import声明、类声明(包括内部类)、接口声明、方法声明(包括main方法)以及变量声明。考生需要熟悉基本的语法结构,如使用java.lang.Runnable接口的类和自定义接口的实现。此外,还需要了解main...

    java eclipse 出现 xxx cannot be resolved to a type 错误解决方法

    当 Eclipse 无法找到 "XX" 所在的 Jar 包时,会报这个错。解决方法是,找到对应的 Jar 包并将其导入项目中。另外,如果出现相同的 XX 时,也可能会报这个错,解决方法是,删除不需要的 Jar 包或重命名 Jar 包。 三...

    mysql57驱动jar包

    首先,了解JDBC:JDBC是Java平台上的标准接口,由Sun Microsystems(现为Oracle公司)开发,用于在Java程序中访问各种类型的数据库。它提供了一套API,包括类和接口,使得开发者可以使用统一的方式处理不同的数据库...

    02_javaWeb知识

    2. **import**: 导入所需的Java类或包,类似于Java代码中的`import`语句。例如`import="java.util.*"`表示导入`java.util`包下的所有类。 3. **pageEncoding**: 设置页面使用的字符编码。例如`pageEncoding="utf-8"`...

    Spire.Barcode for Java - Java 一维和二维条码快速生成和识别组件

    下载以后解压缩,然后从lib文件夹下导入Spire.Barcode.jar包到你的Java应用程序中即可。 支持的条码类型 Spire.Barcode for JAVA支持的条码类型多达38种,包括常见的QR Code、Code 25、 CodeBar、Code 39、Code 93...

    rose框架知识介绍

    当框架检测到任何未被处理的异常时,会调用此类中的`onError`方法。在方法内部,我们使用了`LogFactory.getLog()`来获取日志对象,并记录异常信息。最后返回一个字符串表示出错时跳转的视图路径。 ##### 提示用户 ...

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    在使用MyBatis-Plus 3.1.1版本时,如果你尝试使用Lambda表达式进行查询操作,可能会遇到一个常见的错误,导致程序无法正常运行。...通过以上步骤,通常可以解决Lambda查询时遇到的错误,使代码能够正常运行。

    JNA调用.dll文件或.so动态链接库的代码demo

    通常,需要检查返回值或者使用`LastError`接口来获取错误代码。 7. **性能考虑**: 虽然JNA简化了本地调用,但它的性能相比直接的JNI(Java Native Interface)可能会稍慢。对于性能敏感的应用,可能需要权衡使用...

Global site tag (gtag.js) - Google Analytics