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
复制代码
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-7u6-fcs-src-b24-28_aug_2012.zipwindows
unzip openjdk-7u6-fcs-src-b24-28_aug_2012.zip
复制代码
apache-ant-1.9.14-bin.tar.gzcentos
tar -zxvf apache-ant-1.9.14-bin.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
复制代码
路径为openjdk目录下jdk/src/share/classes/java/util/CurrencyData.properties文件,将此文件中全部的时间改成10年之内便可
vim /etc/profile
复制代码
修改JAVA_HOME
export JAVA_HOME=/home/administrator/jvm/openjdk/build/j2sdk-image
复制代码
在/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%
复制代码
鸡哥cy:win10利用Netbeans远程构建调试OpenJDK
长蘑菇的木头:win10安装nfs服务器并实现liunx访问
打开控制面板->系统和安全->Windows Defender 防火墙,点击左侧边栏"高级设置",进入高级安全windows防火墙设置界面,点击左侧边栏"入站规则",在右侧边栏点击"新建规则",以下图所示
# 我在配置这里的时候参考大佬的配置没有成功,在客户端在虚拟机的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/
复制代码
鸡哥cy:win10利用Netbeans远程构建调试OpenJDK