查看原文
其他

IDEA中编译JDK7源码

架构师成长的好伙伴连接技术 接力价值


授权声明

本文经作者兰小伟授权发于中生代架构(ArchThink)


兰小伟:腼腆内秀的“80后Java码农”,艺名:益达,IT圈摸爬滚打5年6载,现于国美金融打杂谋生,业余著有拙作《Solr权威指南》上下册。爱学习乐分享,开源精神的拥趸。自知天资愚钝,故仍砥砺前行!


责编:大白

 第 6篇架构好文:1048字 | 3分钟阅读


01

编译环境

_____

* Win7

* IDEA 2017.2.5

* JDK 1.7.0

02

下载JDK7

_____

JDK7官方下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

Windows平台下,下载后得到的是一个exe安装文件,安装之后,在安装目录下,你将得到一个src.zip文件,它就是JDK的源码文件。我们需要将其解压至任意目录下

03

新建Java Project

_____

打开IDEA,新建一个普通的Java Project即可,然后将解压后的源码目录全部复制到新建Project的src目录下,操作完成之后,如下图所示:

接下来我们需要设置项目编译环境,通过快捷键Ctrl + Alt + Shift + S打开IDEA的项目结构(即Project Structure)设置,具体设置如下图所示:

上图主要设置了项目使用的SDK以及项目的语言级别,不同语言级别的语法会有所不同,这里我们是编译JDK7源码,故统一设置为JDK7

上图设置的每个模块的语言级别为7以及模块使用的SDK版本。然后我们就可以开始尝试进行JDK源码编译啦!请如下图所示进行操作:

此时可能会提示你:sun.awt.UNIXToolkit not found,此时我们需要从openJDK里找到UNIXToolkit.java文件,复制到我们当前项目里即可,下面是UNIXToolkit.java的获取链接:

[UNIXTookit.java](http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/5f452be1691e/src/solaris/classes/sun/awt/UNIXToolkit.java)


注意:你需要手动新建sun.awt包,然后新建UNIXToolkit.java文件,然后将代码复制过去即可,最后重新编译整个Project即可,直到编译成功。这样我们就可以愉快的Debug源码了,有助于更高效的阅读JDK源码。

推荐阅读

* 兰小伟:Java中的异常传播(三)

* 兰小伟:Java中的异常传播(二)

兰小伟:Java中的异常传播(一)

米么金服首席架构师曲健:微服务接口兼容性升级之序列化


点击阅读原文查看兰小伟的技术博客

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存