ubuntu18.04 编辑 openJDK8

最近再看 周志鹏老师的  《深入理解javajvm虚拟机》,就想自己编译下试试。幸好本人的开发环境是linux 的,这就省下了一步。然后按照教程编译JDK7,无奈坑点太多,只能转战JDK8,最后编译成功,特在此记录。

环境:

系统:ubuntu18.04

jkd版本:jdk1.7

编译版本:openJDK8

依赖:

ps:因为我的开发环境就是Linux,所有依赖已经安装完毕。所以贴下别人的

sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
sudo apt-get install libcups2-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libasound2-dev

 

准备:

安装 Mercurial:

sudo add-apt-repository -y ppa:tortoisehg-ppa/releases
sudo apt-get update
sudo apt-get install mercurial tortoisehg

获取JDK:

1.Mercurial:获取

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u jdk8u
cd jdk8u 
bash ./get_source.sh

2.源码方式:(没试过)


下载地址:http://hg.openjdk.java.net/jdk8u/jdk8u60/jdk/file/935758609767

进去后点击左侧的 zip 就会开始下载

开始:

1.终端输入:

echo $LANG

2.如果显示的不是 “C” ,输入

export LANG=C

3. cd 到 源码根目录下 检车编译环境 运行

bash configure

4. 编译

make

5. 如果出现 “openjdk cc1plus: all warnings being treated as errors”,cd 到 源码根目录/hotspot/make/linux/makefiles/,编辑 gcc.make ,工具随意,我用的是 vim。

vim gcc.make

然后输入:

:set number

找到204行,摁 “i”,进行编辑

把“WARNINGS_ARE_ERRORS = -Werror” 改为 “WARNINGS_ARE_ERRORS = -Wno-error”

然后 摁 “ESC” ,输入:”!wq“ 进行保存。然后回到源码根目录进行make。

约 7~ 10分钟。编译完成出现

----- Build times -------
Start 2018-12-26 14:25:45
End   2018-12-26 14:32:07
00:00:19 corba
00:03:11 hotspot
00:00:12 jaxp
00:00:20 jaxws
00:02:19 jdk
00:00:00 langtools
00:06:22 TOTAL
-------------------------
Finished building OpenJDK for target 'default'
cd ~/Public/openJDK/jdk8u-dev/build/linux-x86_64-normal-
server-release/jdk/bin
./java -version

结果:

openjdk version "1.8.0-internal"
OpenJDK Runtime Environment (build 1.8.0-internal-xiyeming_2018_12_26_14_20-b00)
OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)

OK!大功告成!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值