【编译openjdk学习笔记】

centos7编译openjdk、win10、netbeans、nfs远程debug

参考连接附上

cashZhang27:CentOS 7编译jdk7

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

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

环境

centos7

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

win10

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

netbeans

NetBeans IDE 8.2 (Build 201609300101)
复制代码

nfs1.2.36

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.zip

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

ant

apache-ant-1.9.14-bin.tar.gz

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过来的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值