编译JDK源代码【转】

摘要:
不过可以通过重新编译jdk源代码来恢复此功能。如果build报Accessrestriction错误,是因为源代码里调用了com.sun等包的内容。可设置eclipse忽略这些错误。现在调试时,跟踪到jdkapi里的代码时,可以查看到相关的variable的信息了。

用Eclipse Debug,当跟踪进jdk api里时(比如javax.swing包里的类),无法查看某些local filed的值。这是因为jdk里的代码在打包时删除了一些用于调试的信息,以减小安装包的体积。不过可以通过重新编译jdk源代码来恢复此功能。

1.在Eclipse里新建一个java工程,把jdk_home/src.zip解压缩,复制java,javax两个目录的源代码到新建工程的src目录下。

2.build整个工程。如果build报Access restriction错误,是因为源代码里调用了com.sun等包的内容。可设置eclipse忽略这些错误。修改如下:

Windows -> Preferences -> Java -> Compiler -> Errors/Warnings -> Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning

3.可能还有个别错误,直接删除报错的源文件。

4.将编译得到的.class文件替换java_home/jre/lib/rt.jar文件里的.class文件。(用winrar打开rt.jar,直接把生成的java,javax包拖进去)。

重启eclipse。现在调试时,跟踪到jdk api里的代码时,可以查看到相关的variable的信息了。

免责声明:文章转载自《编译JDK源代码【转】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Unity中传入任意数,转换成分,秒,并进行倒计时换算..(两种方式)mac mamp pro 安装swoole和redis 拓展下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JDK安装

转自:http://www.cnblogs.com/smyhvae/p/3788534.html 【正文】 1、安装JDK开发环境 下载网站:http://www.oracle.com/ 开始安装JDK: 修改安装目录如下: 确定之后,单击“下一步”。 注:当提示安装JRE时,可以选择不要安装。 2、配置环境变量: 对于Java程序开发而言,主要...

ubuntu安装java jdk选择版本

前面的手工下载包安装java最终导致android编译失败,找了很久没找到原因,今天开始用源安装java,把经验或相关链接写下备用。 安装sun-java6-jdk 在Ubuntu 10.04中安装Sun JDK时,会提示找不到报sun-java6-jdk,但是使用Tab键明明可以提示sun-java6-jdk,很奇怪。apt-get会提示如下信息:...

MacOS Sierra10.12.4编译Android7.1.1源代码必须跳的坑

简单介绍 下载Android7.1.1源代码花费了两天,编译整个源代码相同花费了2天,期间遇到无数个坑。 如今编译源代码,一旦中间遇到错误,则要又一次開始。 本文记录编译过程遇到的问题及解决方式,如有编译源代码需求的能够參考本文先把这些坑跳过然后再编译,Mac环境为10.12.4. 编译步骤 直接參考官方指导就可以https://source.andro...

IDEA运行报错: Maven编译错误:不再支持源选项 5。请使用 6 或更高版本

  这里 记录下 这个问题的解决方案: 1:修改maven settings.xml 中的数据 这里的版本要对应现在使用的jdk版本 2:检查idea 配置 图中2块区域要一致 检查这块地方对应了自己的jdk版本没有 (我的问题就这里没对上)   对应 jdk版本  3:在项目pom中制定jdk版本 <properties>...

allure安装教程

1.下载allure的安装包 我下载的是这个版本:allure2.12.1 2.安装jdk 下载路径:https://www.oracle.com/cn/java/technologies/javase-jdk15-downloads.html jdk的环境变量配置在步骤3: 检查jdk安装是否成功 3.配置环境变量 验证安装是否成功: cm...

Jmeter(八)Linux上安装与使用

1.使用背景    需要在Linux服务器上安装使用Jmeter。 2.操作步骤 第一步:安装JDK(因为JMeter是在java环境中运行的,如果已有可忽略) #1.查看云端目前支持安装的jdk版本 [root@localhost ~]# yum search java|grep jdk #2.选择版本后,安装(执行以下命令会自动安装jdk相关依赖 [r...