【编译openjdk学习笔记】

centos7编译openjdk、win十、netbeans、nfs远程debug

参考链接附上

cashZhang27:CentOS 7编译jdk7html

鸡哥cy:win10利用Netbeans远程构建调试OpenJDKjava

长蘑菇的木头:win10安装nfs服务器并实现liunx访问linux

环境

centos7c++

[root@localhost src]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
复制代码

win10apache

Microsoft Windows [版本 10.0.17763.379]
(c) 2018 Microsoft Corporation。保留全部权利。
复制代码

netbeansbootstrap

NetBeans IDE 8.2 (Build 201609300101)
复制代码

nfs1.2.36vim

http://r.hanewin.net/nfs1236.exe
复制代码

centos上的操做步骤

依赖资源安装

yum install alsa-lib-devel
yum install cups-devel
yum install libX*
yum install gcc gcc-c++
yum install freetype-devel
yum install libstdc++-static
# 只是编译openjdk不须要安装,使用nfs共享文件远程调试
yum install nfs-utils
复制代码

openjdk

openjdk-7u6-fcs-src-b24-28_aug_2012.zipwindows

unzip openjdk-7u6-fcs-src-b24-28_aug_2012.zip
复制代码

ant

apache-ant-1.9.14-bin.tar.gzcentos

tar -zxvf apache-ant-1.9.14-bin.tar.gz
复制代码

bootstrap jdk

jdk-7u4-linux-x64.tar.gz安全

tar -zxvf jdk-7u4-linux-x64.tar.gz
复制代码

配置环境变量

vi /etc/profile

#set Java enviroment
export JAVA_HOME=/usr/local/src/jdk1.7.0_04
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/src/apache-ant-1.9.14/lib/ant-launcher.jar

#set Ant enviroment
ANT_HOME=/usr/local/src/apache-ant-1.9.14

export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$CLASSPATH:$JRE_HOME/bin:$PATH
复制代码

###编译检查

进入解压后的openjdk目录下执行命令:./build.sh

export LANG=C
export ALT_BOOTDIR=/usr/local/src/jdk1.7.0_04
export ALT_JDK_IMPORT_PATH=/usr/local/src/jdk1.7.0_04
export ALLOW_DOWNLOADS=true
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
export BUILD_JAXWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
BUILD_DEPLOY=false
BUILD_INSTALL=false
export ALT_OUTPUTDIR=/home/administrator/jvm/openjdk/build
unset JAVA_HOME
unset CLASSPATH

make sanity
#检查输出结果:Sanity check passed后解开下边注释执行编译./build.sh
#make sanity && make 2>&1 | tee $ALT_OUTPUTDIR/build.log
复制代码

修改CurrencyData.properties

路径为openjdk目录下jdk/src/share/classes/java/util/CurrencyData.properties文件,将此文件中全部的时间改成10年之内便可

配置环境变量使用本身编译的openjdk

vim /etc/profile
复制代码

修改JAVA_HOME

export JAVA_HOME=/home/administrator/jvm/openjdk/build/j2sdk-image
复制代码

若是不想编译完整的openjdk只编译HotSpot

在/home/administrator/jvm/openjdk/hotspot/make 目录下建立build.sh脚本

export LANG=C
export ALT_BOOTDIR=/usr/local/src/jdk1.7.0_04
export ALT_JDK_IMPORT_PATH=/usr/local/src/jdk1.7.0_04
export ALLOW_DOWNLOADS=true
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
export BUILD_JAXWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
BUILD_DEPLOY=false
BUILD_INSTALL=false
# 指定编译64位hotspot
export LP64=1
export GAMMADIR=/home/administrator/jvm/openjdk/hotspot
export ALT_OUTPUTDIR=/home/administrator/jvm/openjdk/hotspot/build
unset JAVA_HOME
unset CLASSPATH

make 2>&1 | tee $ALT_OUTPUTDIR/build.log
复制代码

执行./build.sh看到如下打印恭喜你成功了

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
OpenJDK 64-Bit Server VM (build 23.2-b09-internal-fastdebug, mixed mode)

 1. A1 B5 C8 D6 E3 F7 G2 H4 
 2. A1 B6 C8 D3 E7 F4 G2 H5 
 3. A1 B7 C4 D6 E8 F2 G5 H3 
 4. A1 B7 C5 D8 E2 F4 G6 H3 
 5. A2 B4 C6 D8 E3 F1 G7 H5 
 6. A2 B5 C7 D1 E3 F8 G6 H4 
 7. A2 B5 C7 D4 E1 F8 G6 H3 
 8. A2 B6 C1 D7 E4 F8 G3 H5
复制代码

常见错误内核版本太高,我安装的centos7的内核版本是3.10没有遇到此问题

# uname -r
3.10.0-862.el7.x86_64
复制代码

遇到的小伙伴能够修改SUPPORTED_OS_VERSION参数

vim openjdk/hotspot/make/linux/Makefile
复制代码
# We do not want people accidentally building on old systems (e.g. Linux 2.2.x,
# Solaris 2.5.1, 2.6).
# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.

SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
复制代码

以上就完成了在虚拟机的cenos7上编译成功openjdk接下来配置windows10

windows上的操做步骤

安装netbeans8.2

NetBeans IDE 8.2

安装nfs

NFS Server 1.2.36

netbeans和nfs的配置参考地址

鸡哥cy:win10利用Netbeans远程构建调试OpenJDK

长蘑菇的木头:win10安装nfs服务器并实现liunx访问

D盘新建文件夹D:\jvm设置共享,windows为nfs服务端、虚拟机centos为客户端挂载

防火墙配置

打开控制面板->系统和安全->Windows Defender 防火墙,点击左侧边栏"高级设置",进入高级安全windows防火墙设置界面,点击左侧边栏"入站规则",在右侧边栏点击"新建规则",以下图所示

配置nfs

# 我在配置这里的时候参考大佬的配置没有成功,在客户端在虚拟机的centos上mount报错
#d:\jvm -name:jvm -mapall:1000:1000 -exec 客户端ip
# 去掉客户端的ip后成功了
d:\jvm -name:jvm -mapall:1000:1000 -exec
复制代码

在客户端虚拟机上挂载文件

sudo mount -t nfs 192.168.0.205:/jvm /home/administrator/jvm/
复制代码

安装配置netbeans 照着大佬的配置就好了

鸡哥cy:win10利用Netbeans远程构建调试OpenJDK

忙活两天终于成功啦

大天然的搬运工,写这个只是用来作个学习笔记,没有原创的成分。遇到问题就各类百度,以上内容基本都是我贴出来的博客中Copy过来的。

相关文章
相关标签/搜索