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