IDEA构建JDK_1.8源码阅读环境过程详解
本文源码环境git地址:JDK8-SourceCode源码工程
1、环境准备
工具 | 版本 |
JDK | 1.8.0_181 |
IDEA | 2019.3.1 |
2、搭建源码阅读环境
新建Java工程,JDK配置为1.8,过程如下:
然后,在src目录下存放java源码,那么我们需要的src源码在哪?
将src.zip压缩包解压,这里面就是JDK的源码。然后src文件夹内容将其放在刚建的java工程src目录下,工程目录结构是这个样子。
Main.java类是自建的测试类,并不在src解压源码内。编写测试类Main.java
public class Main {public static void main(String[] args) {System.out.println("hello world!");}
}
运行测试类Main.java,基本上会出来很多问题。
3、问题汇总
问题1:缺少com.sun.tools包
解决:File ---> Project structure ---> Libraries 把Java工程中JDK路径下的lib包添加到工程中。
问题2:缺少sun.awt.UNIXToolkit.java 和 sun.font.FontConfigManager.java这两个类
解决:在src的目录下手动添加这两个类
这两个类可以去这个git仓库里找到的,https://github.com/kangjianwei/LearningJDK
问题3:debug的时候,误点Alternative source availble for the class xxxx 的disable
解决: 打开File ---> Project structure --->Debugger, 如下图 选中该选项
问题4:编译过程中报java:OutOfMemory,提示系统资源不足
解决:File--->Settings--->Build,Exception,Deployment--->Compiler--->Build process heap size调大一点,改成1000就行了
问题5:让代码运行时自动关联到当前项目src目录下的代码
解决:打开当前工程的Project Structure--->点开SDKs,在Sourcepath中移除IDEA上配置的jdk1.8源码路径,然后将Sourcepath路径指向当前Java工程的src目录
再次运行Main.java类,如果能正常执行,则环境已搭建好。
IDEA构建JDK_1.8源码阅读环境过程详解相关推荐
- 源码阅读及理论详解《 Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting 》
Informer论文:https://arxiv.org/pdf/2012.07436.pdf Informer源码:GitHub - zhouhaoyi/Informer2020: The GitH ...
- Linux内核源码阅读以及工具详解
接上篇Linux内核源码下载方法 这篇总结了如何利用source insight对Linux内核代码进行阅读和学习(资料来源于网络) 随着linux的逐步普及,现在有不少人对于Linux的安装及设置已 ...
- Spark源码学习之IDEA源码阅读环境搭建
软件准备 (1)Java 1.8 (2)Scala 2.11.12(需要在IDEA中安装) (3)Maven 3.8.2(需要在IDEA中配置) (4)Git 2.33 以上软件需要安装好,并进行环境 ...
- jdk javac运行不了_Intellij IDEA搭建jdk源码阅读环境
一.找到源码位置 直接找到jdk安装的目录,会看到src.zip的压缩包,这里面就是jdk的源码,例如下图: 在这里解压. 第一次尝试建议使用9或更早版本jdk的源码,否则易造成卡死. 二.Intel ...
- Windows + IDEA + SBT 打造Spark源码阅读环境
Spark源码阅读环境的准备 Spark源码是有Scala语言写成的,目前,IDEA对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发.因此,Spark源 ...
- spring5.3.x源码阅读环境搭建
spring5.3.x源码阅读环境搭建-gradle构建编译 文章目录 spring5.3.x源码阅读环境搭建-gradle构建编译 一.依赖工具 二.下载源码 三.开始构建 四.编译源码 五.源码测 ...
- ardupilot java_基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建
基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...
- Mac搭建JDK源码阅读环境
点赞再看,养成习惯,微信公众号搜索[虚竹讲程序经],获取更多技术干货! 想要读懂JDK源码,需要在自己电脑上搭建JDK的源码阅读环境,正所谓,工欲善其事,必先利其器.下面演示如何在Mac上结合Idea ...
- Mybatis 源码阅读环境搭建
Mybatis源码阅读环境搭建 前言 一.下载mybatis的源码 二.编译源码 三.创建测试项目 前言 mybatis源码阅读环境搭建还是比较简单的,接下来我们讲解一下如何搭建该源码阅读环境 ...
- Spring Boot 2.0系列文章(四):Spring Boot 2.0 源码阅读环境搭建
前提 前几天面试的时候,被问过 Spring Boot 的自动配置源码怎么实现的,没看过源码的我只能投降��了. 这不,赶紧来补补了,所以才有了这篇文章的出现,Spring Boot 2. 0 源码阅 ...
最新文章
- 任谦:实践是大数据提升项目的灵魂丨优秀毕业生专访
- delphi 使用UDP收发数据
- mysql数据库搜索字符_在MySQL数据库中快速搜索字符串?
- Celery + Flower + FastAPI + RabbitMQ ,Python实现异步消息队列和监控
- Python笔记 【无序】 【一】
- 程序员基本功03常见JAVA集合的实现细节
- 解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .
- 计算最后一个单词的字符串长度
- 计算机网络cr什么意思,现在网络上的“CR”是指什么意思
- c语言函数实际参数,C语言:函数声明与定义的参数不一致问题,后果可能很严重哦!!!!!...
- LINUX 硬盘分区及文件系统
- 转载:洛克菲勒家族参与投资土豆网
- vs2013连接数据库
- 《数据结构与算法》——线性表之顺序表(SqList)总结
- 科技解读:com域名价格为什么连年上涨?小微企业怎样应对?
- HTML与Java组合使用_【自学java笔记#第五十四天#】javaweb day02 html和css的组合使用...
- Linux实现基于Loopback的NVI(NAT Virtual Interface)
- 宝宝起名神器小程序源码_支持多种流量主模式
- Vue组件嵌套时生命周期函数触发顺序是什么?
- 复印机的工作过程大致如下