Ubuntu16.04编译Openjdk8,笔者亲测编译成功
现在很多语言都不开发运行环境了,都选择在JRE上运行,足以证明JVM的优越。你精通了JVM,未来的路才可能走得轻松。这篇文章是你走近jvm的第一篇,编译Openjdk8源码
编译环境
操作系统:Ubuntu16 (ubuntu-16.04.6-desktop-amd64.iso)
boot jdk:jdk7 (jdk-7u80-linux-x64.tar.gz)
Openjdk:jdk8 (openjdk-8u40-src-b25-10_feb_2015.zip)
编译前准备
Ubuntu提供两种进入方式,一个是我们平常最熟悉的图形界面形式,还有一种是纯命令行方式
Ctrl + Alt + F6 即可进入纯命令行模式,进入后,需要输入用户名,密码
接着安装vim工具,并用vim打开如下文件
sudo vim /etc/network/interfaces
添加以下内容
修改如下文件,将managed设置为true,如果是只读文件,需要授权(此处不再赘述)
/etc/NetworkManager/NetworkManager.conf
打开如下文件, 添加内容
/etc/resolvconf/resolv.conf.d/base
重启网络服务
service network-manager restart
Ubuntu 更改文件权限及chmod详细用法如下:
一、常用方法如下:(其中×××指文件名)
(所有者有读和写的权限,组用户只有读的权限)
sudo chmod ×××
(每个人都有读和写以及执行的权限)
sudo chmod ×××
输入以下命令进行安装远程ssh服务
# sudo apt-get install openssh-server
若没有ssh,需要执行
# sudo apt-get install ssh
(设置完静态ip,并用xshell远程连接成功,如下图)
编译流程
1、安装依赖(这步比较慢,耐心等待)
sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfreetype6-dev libasound2-dev ccache
或者
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
2、安装boot jdk
因为openjdk源码中有些功能是用Java代码实现的,比如调试工具:jps、jstat等,还有一些核心jar包,如rt.jar、tools.jar等,都需要相应版本的JDK。boot jdk需要比你编译的jdk版本低,这里我们用jdk7
直接解压到Documents目录下,然后配置下环境
tar zxvf jdk-7u80-linux-x64.tar.gz
配置path
vim ~/.bashrc
文件底部加入下面三句话(改成你自己的用户名)
export JAVA_HOME=/home/lusai/Documents/jdk1..0_80
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
让配置的path重新生效
source ~/.bashrc
查看是否安装成功
java -version
3.解压openjdk8 ,
安装 unzip
sudo apt install unzip
进入 openjdk8 的主目录,解压文件
unzip openjdk-8u40-src-b25-10_feb_2015.zip
进去解压的文件
cd /home/lusai/Documents/openjdk
执行配置命令,填写Boot jdk的安装目录
sudo bash configure --with-target-bits= --with-boot-jdk=/home/lusai/Documents/jdk1..0_80/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=
如果配置成功,则会显示如下信息:
开始编译(时间较长,请耐心等待)
sudo make all DISABLE_HOTSPOT_OS_VERSION_CHECK=OK ZIP_DEBUGINFO_FILES=
看到下面这个画面就证明编译成功,就可以用了
若在编译过程中,出现以下错误,请不要慌张,这并没有太大问题(网上是这么说的,最后确实也是没太大问题):
查看刚才编译成功的openjdk版本。首先进入 以下目录,
cd /home/lusai/Documents/openjdk/build/linux-x86_64-normal-server-slowdebug/jdk/bin
再执行命令 ./java -version。可得如下结果:
./java -version
至此,Openjdk8编译大功告成
Ubuntu16.04编译Openjdk8,笔者亲测编译成功的更多相关文章
- ubuntu16.04下笔记本自带摄像头编译运行PTAM
ubuntu16.04下笔记本自带摄像头编译运行PTAM 转载请注明链接:https://i.cnblogs.com/EditPosts.aspx?postid=9014147 个人邮箱:feifan ...
- office2010安装与破解,笔者亲测可用!!!!!!
我们首先需要准备office2010安装包与破相应的破解软件.软件包的获取方式:扫码关注[猿成长],,回复 office2010安装,即可获取,下载解压后文件目录结构如下图所示: 打开安装程序文件夹, ...
- Navicat Premium 12.0.24安装与激活(亲测已成功激活)
另请参见:Navicat Premium 12.0.18 / 12.0.24安装与激活 另请参见:Navicat Premium 12安装与激活(亲测已成功激活) 说明: 本主亲自验证过,可以激活! ...
- caffe搭建--caffe在invidia+cpu 酷睿2Q9300 + ubuntu16.04.2上面的安装和编译过程
本文原创,转载请注明出处. ------------------------------------------------分割线-------------------------------- 概要 ...
- Ubuntu16.04下搭建开发环境及编译tiny4412 Android系统【转】
本文转载自:http://blog.csdn.net/songze_lee/article/details/72808631 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.安装ssh服务器 ...
- 达尔稳usb转RJ45的接口转换器(usb2.0接口)在ubuntu16.04中驱动(r8152)编译安装与使用
淘宝买了usb转RJ45的接口转换器:https://detail.tmall.com/item.htm?id=524808012954&ali_refid=a3_430582_1006:11 ...
- 全网最全fiddler使用教程和fiddler如何抓包(fiddler手机抓包)-笔者亲测
一.前言 抓包工具有很多,比如常用的抓包工具Httpwatch,通用的强大的抓包工具Wireshark.为什么使用fiddler?原因如下:1.Wireshark是通用的抓包工具,但是比较庞大,对于只 ...
- robotframework日志输出中文乱码以及robotframework常用关键字-笔者亲测
一.环境说明 python版本:3.7.3 robotframework版本:3.1 robotframwork-ride版本:1.7.4.2 二.问题描述
- ubuntu 13.04 163源(亲测可用)
# deb cdrom:[Ubuntu )]/ trusty main restricted # See http://help.ubuntu.com/community/UpgradeNotes f ...
随机推荐
- ICPC 2018 亚洲横滨赛 C Emergency Evacuation(暴力,贪心)
ICPC 2018 亚洲横滨赛 C Emergency Evacuation 题目大意 你一个车厢和一些人,这些人都坐在座位上,求这些人全部出去的时间最小值 Solution 题目咋说就咋做 直接模拟 ...
- sql语句replace函数的使用
SQL中的替换函数replace()使用 语法 REPLACE ( string_expression , string_pattern , string_replacement ) 参数 strin ...
- appium-1-安装
1.appium安装 网盘地址,下载之后,一路点就可以了 链接:https://pan.baidu.com/s/1-X_ceUWisbuyosjztakKZw 密码:hxeu 系统变量中新增APPI ...
- 浅析Python垃圾回收机制!
Python垃圾回收机制 目录 Python垃圾回收机制 1. 内存泄露 2. Python什么时候启动垃圾回收机制? 2.1 计数引用 2.2 循环引用 问题:引用计数是0是启动垃圾回收的充要条件吗 ...
- python---Flask使用教程-加载静态文件
flask的静态文件,一般放在static目录下,前端页面放在templates下(而且这两个名字是定死的(static,templates)),目录结构如图: 模板(index.html)里加载静态 ...
- 【RPA Starter第三课】第一个Uipath项目:HelloWord
最后是一个小项目,开启使用Uipath.Uipath云平台,Uipath Orchestrator,Uipath Studio,发布项目.怎么启动机器人.都有详细的步骤. Uipath 的账号是通用的 ...
- Cyber Security - Palo Alto Security Policies(1)
Security policies: Enforcing network traffic by configuring rules of what is allowed or denied to co ...
- Go Pentester - HTTP CLIENTS(2)
Building an HTTP Client That Interacts with Shodan Shadon(URL:https://www.shodan.io/) is the world' ...
- oracle 在物理机上添加磁盘操作
物理机上添加磁盘操作 注意:1)物理机上添加磁盘操作,不涉及到start_udev的动作.2)磁盘分区的操作,需要谨慎进行,核准无误后再操作. (1)查看磁盘名称命名 # su - grid$ sql ...
- 网课神器之obs-studio的安装使用
obs-studio 首先,下载obs-studio安装文件,然后点击安装. 建议安装完后直接跳过配置,然后进入文件-设置-通用-系统托盘-勾选"总是最小化到系统托盘,而不是任务栏" ...