使用rt.jar里的internal类,在编译时可能出错
昨天遇到一个奇怪的编译问题。在Eclipse里,写了一个类A,A引入了一个rt.jar的类SOAPMessageFactory1_1Impl(包名为com.sun.xml.internal.messaging.saaj.soap). 在Eclipse里编译时,没有遇到问题,但当我在unix下,用ant脚本编译就总会报错,大概意思就是说这个类找不到。
足足查了一个多小时,终于找到问题的关键了。原来,并不是所有在rt.jar里的类都是完全公开给大家使用的。在rt.jar里,*.internal.*.java类都是用来给JDK自己用的,当我们用到rt.jar里的*.internal.*.java类时,就可能出现编译错误。没有深究为什么在eclipse下,*.internal.*.java类可以被使用,不过下面的链接对*.internal.*.java类的使用提供了解释。
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=1711ee4eae3ff10565fc7a212018?bug_id=6778491
分享到:
相关推荐
几乎所有的Java应用程序在运行时都会依赖rt.jar,因为其中包含了Java API的大部分核心类。例如,`java.lang.*`、`java.io.*`、`java.util.*`等包都位于这个JAR文件中。 jce.jar,全称Java Cryptography Extension,...
理解rt.jar的源码后,可以在必要时自定义类或方法,以满足特定需求。 总的来说,OpenJDK的rt.jar源码是Java开发者的一份宝贵财富,它为我们打开了Java世界的大门,让我们有机会探索这个强大平台的内在工作原理。...
对jre包里的rt.jar精简,第一步:解压工具.rar,第二步:把你打包的jar小项目放到同一文件夹里。第三步:cmd,运行命令javaw -Dfile.encoding=utf-8 -jar GreenJVMMake.jar -t da -i ./mytest.jar -o ./ 执行后可以...
rt.jar是Java开发工具(JDK)中的一个核心组件,它包含了Java运行时环境的基础类库,如java.lang、java.io和java.util等包。通常,rt.jar中的源码不包括在内,因为它们是Oracle或OpenJDK的封闭源代码部分。然而,这个...
在使用`rt.jar`时,需要注意的是,它包含的是Oracle或OpenJDK实现的私有API,这些API可能会随着JDK版本的更新而改变,因此在生产环境中,尽量避免直接依赖`rt.jar`中的非公开类和接口,以免产生兼容性问题。...
安装完JDK后,会在%JAVA_HOME% /jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中。这个是jdk7u9版本...
JDK动态代理生成字节码,用到了ProxyGenerator.generateProxyClass()方法,这个是rt.jar包中的方法,而安装JDK之后的src.zip没有包含。苦于找不到源码,下载了一个又报错,代码也不全,这里给大家分享一下亲测可用的...
在Java程序执行过程中,无论是系统类加载器还是自定义类加载器,都会用到`rt.jar`中的类来完成各种基本功能。 `rt.jar`包含了以下主要的知识点: 1. **Java基础类库**:`rt.jar`中包含了许多Java的基础类,如`java...
当我们编译和运行Java程序时,JVM会自动加载`rt.jar`中的类,以提供基本的运行时功能。然而,在某些特殊情况下,如精简JRE或者进行低内存环境部署时,可能需要单独处理`rt.jar`,以减少不必要的类库。 在描述中提到...
重新编译的jdk1.8.0_40的 rt.jar包,用于解决jdk自带的rt.jar 在调试时不能查看局部变量的问题。
rt.jar
在 JDK 1.8 版本中,`rt.jar` 是一个非常重要的文件,它包含了Java标准版(Java SE)的运行时类库。这个库包含了Java API的实现,也就是Java程序员经常使用的各种类和接口,如`java.lang`、`java.util`、`java.io`等...
仅为了方便查看rt.jar包的内容。可自行去下载openjdk的源码也能找到你需要的东西。在openjdk的源码中\openjdk\jdk\src\share\classes目录下即为rt.jar的源码,此文件夹下的源代码是完全的,包括sun包下的java文件。
jdk1.7.0_79 中rt.jar
lib包中的jrt-fs.jar 和 rt.jar 包下载,rt.jar:Java基础类库,也就是Java doc里面看到的所有的类的class文件。dt.jar:dt.jar是关于运行环境的类库,主要是swing包。
Java开发中的核心库rt.jar...理解并熟练使用rt.jar中的类和方法,是掌握Java编程的基础,也是提升开发能力的关键步骤。通过深入学习rt.jar,开发者可以更好地利用Java提供的丰富功能,编写出高效、稳定、易维护的代码。
此外,rt.jar还包含了Java的内置异常类,如`NullPointerException`、`ArrayIndexOutOfBoundsException`等,这些异常类在程序出错时被抛出,帮助开发者定位问题。还有`java.security`包,提供了安全相关的类和接口,...
开发者无需直接引用rt.jar,因为它是Java平台的一部分,会在编译和运行时自动包含在类路径中。 4. **相关文件**: - `使用说明.txt`: 这可能是一个关于如何使用rt.jar或Java开发的简要指南,可能包含如何配置开发...
Java开发人员对rt.jar并不陌生,它是Java运行时库的核心组成部分,包含了Java标准类库的所有公共类。rt.jar中的源码对于理解Java核心API的工作原理至关重要。然而,JDK安装后的src.zip文件并未包含sun目录下的源码,...
在进行Java开发的过程中,可能会遇到rt.jar文件受限的问题,这会导致编译过程中出现异常。本文将详细介绍如何解决这一问题。 #### rt.jar简介 rt.jar是Java运行时环境(JRE)的核心类库之一,包含了Java标准库中的...