编译安装OpenJDK
环境准备
Linux ubuntu 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
openjdk-7u75-src-b13-18_dec_2014.zip
安装依赖的工具
sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev ant libxt-dev libxtst-dev
安装BootJDK
sudo apt-get build-dep openjdk-7
安装好后默认路径在/root/tool/jdk
测试环境变量配置
#BOOT_JDK的路径
export ALT_JDK_IMPORT_PATH=/root/tool/jdk
export ALT_BOOTDIR=/root/tool/jdk
export LANG=C
unset JAVA_HOME
unset CLASSPATH
export BUILD_JAXWS=false
export BUILD_JAXP=false
export ALLOW_DOWNLOADS=true
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
make sanity
结果出现Sanity check passed,表示测试通过。
测试过程中可能出现*** This OS is not supported:" `uname -a`; exit 1; 可寻找openjdk/hotspot/make/linux下的Makefile文件,在SUPPORTED_OS_VERSION中加入当前OS Version或者注释掉check_os_version代码段。
编译安装OpenJDK
在执行以下命令前,先去openjdk/jdk/src/share/classes/java/util/CurrencyData.properties文件,将其中所有的10年前日期改为10年以内的,否则会报错:time is more than 10 years from present。
#BOOT_JDK的路径
export ALT_JDK_IMPORT_PATH=/root/tool/jdk
export ALT_BOOTDIR=/root/tool/jdk
export LANG=C
unset JAVA_HOME
unset CLASSPATH
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export WARNINGS_ARE_ERRORS=false
export DEBUG_NAME=debug
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
make all ALLOW_DOWNLOADS=true WARNINGS_ARE_ERRORS=
该编译过程可能会持续20min左右。
编译完成后,会在openjdk目录下生成build目录,里面包含两个目录linux-amd64和linux-amd64-debug。这两个即为编译好的JDK。
在IDE工具中进行源码调试
项目创建与调试
首先下载安装NetBeans8.02,支持C/C++的那个版本;
新建项目:
一直下一步直到finish完成。
右击项目-->Properties
修改Build中的Make的Build Command
${MAKE} -f Makefile clean jvmg ALT_BOOTDIR=/usr/lib/jvm ARCH_DATA_MODEL=64 LANG=C
其中参数ALT_BOOTDIR是指BootJDK的目录
修改Run中的参数
#Run Command
/home/zxl/Downloads/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg/gamma Queens
#RunDirectory
/home/zxl/Downloads/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg
#Environment
LD_LIBRARY_PATH=/home/zxl/Downloads/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg
JAVA_HOME=/home/zxl/Downloads/openjdk/build/linux-amd64
CLASSPATH=..:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/home/zxl/Downloads/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg
现在即可F5运行程序或Ctrl+F5调试程序了,运行结果:
可能出现的错误
缺少Fortran支持:使用apt-get install gfortran,然后在tools--options--c/c++--build tools中设置fortran Compiler为/usr/lib/gfortran
转载请注明原文地址: https://www.6miu.com/read-43826.html