0.基本环境
使用的是vm虚拟机,在vmware虚拟机中搭建ubuntu系统,版本是16.04,如下:
1.依赖准备
需要依赖的包如下:
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 |
会提示出错
其中libmotif3提示已作废或已被其他应用依赖,所以把libmotif3去掉,再次运行命令,如下:
sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif-dev ant |
安装成功
2.安装bootstrap jdk
bootstrap jdk即为java的运行环境,编译运行openjdk源码的工具(openjdk也是java程序,需要在此jdk中运行)
2.1系统自带openjdk的卸载
由于ubuntu系统自带了openjdk8,而我要用oracleJDK1.7,所以需要先卸载系统自带的openjdk,卸载如下:
如果安装了OpenJDK,可用如下方法全部卸载: |
2.2 oracleJDK的安装
下载地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html |
本人安装的是jdk7u80,如下:
下载后解压:
tar -zxvf jdk-7u80-linux-x64.tar.gz |
本人直接安装在/home/python目录下,如下:
配置jdk1.7.0_80的环境变量,如下:
export JAVA_HOME=/home/python/jdk1.7.0_80 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH |
使.bashrc配置生效,如下:
source ~/.bashrc |
最后是运行java -version命令检验。
其他配置:如下是参考其他博客做的配置(暂时不知道有什么影响,傻fufu的照做了)
配置ubuntu的JDK和JRE的位置:
$ sudo update-alternatives --install "/usr/bin/java" "java" "/home/python/jdk1.7.0_80/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/home/python/jdk1.7.0_80/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/home/python/jdk1.7.0_80/bin/javaws" 1
配置Oracle为系统默认JDK/JRE:
$ sudo update-alternatives --set java /home/python/jdk1.7.0_80/bin/java
$ sudo update-alternatives --set javac /home/python/jdk1.7.0_80/bin/javac
$ sudo update-alternatives --set javaws /home/python/jdk1.7.0_80/bin/javaws
3.openjdk源码包下载
下载地址如下:
https://github.com/dmlloyd/openjdk/tree/jdk7u/jdk7u |
unzip openjdk-jdk7u-jdk7u.zip |
4.build.sh文件的配置及编译
在openjdk-jdk7u-jdk7u中编译一个build.sh文件,如下:
build.sh文件中内容如下:
#!/bin/bash export LANG=C export ALT_BOOTDIR=/home/python/jdk1.7.0_80/ export ALT_JDK_IMPORT_PATH=/home/python/jdk1.7.0_80/ export ALLOW_DOWNLOADS=true export USE_PRECOMPILED_HEADER=true export BUILD_LANGTOOLS=true export BUILD_JAXP=true export BUILD_JAXWS=true export BUILD_CORBA=true export BUILD_HOSTPOT=true export BUILD_JDK=true export SKIP_DEBUG_BUILD=false export SKIP_FASTDEBUG_BUILD=true export DEBUG_NAME=debug BUILD_DEPLOY=false BUILD_INSTALL=false export ALT_OUTPUTDIR=/home/python/openjdk-jdk7u-jdk7u/build unset CLASSPATH unset JAVA_HOME make 2>&1 | tee $ALT_OUTPUTDIR/build.log |
然后赋予build.sh权限并运行,如下:
chmod 755 build.sh ./build.sh |
运行build.sh这个shell脚本最终结果如下(本人电脑太差,运行了近3个小时。。。):