編譯 在編譯JDK7之前,安裝一個JDK6版本,因為有一些JAVA檔案需要編譯; 配置更新源,yum -y groupinstall 'base',yum -y install make; 安裝軟體包,yum -y install alsa-lib-devel cups-devel libXi-devel gcc gcc-c++ freetype ld-linux.so.2 ant* libX* freetype* 配置環境變數,
unset CLASSPATHunset JAVA_HOMEexport LANG=Cexport SKIP_DEBUG_BUILD=false export SKIP_FASTDEBUG_BUILD=true export DEBUG_NAME=debug export ALT_BOOTDIR=/usr/java/jdk1.6.0_45
下載源碼、減壓縮、驗證配置,顯示Sanity check passed. #表示ok了
wget http://download.java.net/openjdk/jdk7u40/promoted/b43/openjdk-7u40-fcs-src-b43-26_aug_2013.zip?q=download/openjdk/jdk7u40/promoted/b43/openjdk-7u40-fcs-src-b43-26_aug_2013.zipunzip openjdk-7u40-fcs-src-b43-26_aug_2013.zipcd openjdkmake sanity
執行編譯命令
make all ARCH_DATA_MODEL=64 ALLOW_DOWNLOADS=tru
檢查編譯結果
./build/linux-amd64/bin/java -version
常見問題
Error: time is more than 10 years from present: 1104530400000,修改 ./jdk/src/share/classes/java/util/CurrencyData.properties535 行
534 # TURKEY535 TR=TRL;2010-12-31-22-00-00;TRY