南皮网站建设,贵阳房地产网站建设,网站无法上传照片,营销方式和营销策略LZ经过一个星期断断续续的研究#xff0c;终于成功的搞定了JDK的成功编译与调试。尽管网络上的教程也有不少#xff0c;包括源码中也有自带的编译步骤说明#xff0c;但真正自己动手的话#xff0c;还是会遇到不少意料之外的错误。 为了方便各位猿友编译#xff0c;LZ临时… LZ经过一个星期断断续续的研究终于成功的搞定了JDK的成功编译与调试。尽管网络上的教程也有不少包括源码中也有自带的编译步骤说明但真正自己动手的话还是会遇到不少意料之外的错误。 为了方便各位猿友编译LZ临时学了一下shell的皮毛写了三个shell的小脚本只要执行这三个小脚本你就会获得一个自己编译出来的JDK。这个JDK是可以调试的JDK这对于我们研究JAVA虚拟机是非常重要的一项工作。 好了接下来LZ就一一将步骤列出非常简单真正的傻瓜式编译步骤。如果LZ哪里说的不够清楚希望猿友们提出来或者在下面留言提问也行限于周末LZ必会有问必答。倘若猿友们编译成功也别忘了回过头来给LZ推荐一下让更多的人参与到JVM源码的研究当中。 一、安装linux系统 1、下载一个虚拟机软件VMware相信大部分人都不会陌生然后正确的安装即可具体的下载地址和安装步骤并不难各位在网络上可以找到大量的资料。 2、在安装好的VMware上安装一个ubuntu-10.04版本的linux系统这个系统也非常好安装网络上同样也有大量的资料供各位参考。 二、更改root用户密码下载JDK和ant 3、安装好系统之后选择VMware的ubuntu-10.04系统启动成功之后打开一个命令行终端使用下面的命令更改root用户密码之后注销当前用户使用root登陆。 rootubuntu:/opt# sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully 4、切换成root账户后我们需要下载两个安装包一个是JDK6u18一个是ant1.9.2将两个文件存放在一个文件夹下LZ存放的是默认路径/root/Downloads文件名必须与LZ的文件名保持一致。 rootubuntu:~/Downloads# ls
apache-ant-1.9.2-bin.zip jdk-6u18-linux-i586.bin 三、执行小脚本 5、在任何一个地方比如LZ是在/opt下新建三个文件将以下内容分别复制进去。 rootubuntu:/opt# vi build_openjdk_1 #!/bin/bash
cd /opt
if [ -d /opt/openjdk ]; thenrm -rf /opt/openjdk
fi
mkdir openjdk
cd /opt/openjdk
sudo apt-get install mercurial
hg clone http://bitbucket.org/pmezard/hgforest-crew
echo [extensions] /opt/openjdk/hgforest-crew/.hg/hgrc
echo forest/opt/openjdk/hgforest-crew/forest.py /opt/openjdk/hgforest-crew/.hg/hgrc
echo fetch /opt/openjdk/hgforest-crew/.hg/hgrc
cd /opt/openjdk/hgforest-crew/.hg
hg fclone http://hg.openjdk.java.net/jdk7/jdk7
mv /opt/openjdk/hgforest-crew/.hg/jdk7 /opt/openjdk/jdk7 rootubuntu:/opt# vi build_openjdk_2 #!/bin/bash
sudo apt-get install build-essential
sudo apt-get install libxrender-dev
sudo apt-get install xorg-dev
sudo apt-get install libasound2-dev
sudo apt-get install libcups2-dev
sudo apt-get build-dep openjdk-6
sudo apt-get install openjdk-6-jdk
cd $1
if [ -d /usr/lib/jvm/jdk1.6.0_18 ]; thenrm -rf /usr/lib/jvm/jdk1.6.0_18
fi
mod x jdk-6u18-linux-i586.bin
sudo ./jdk-6u18-linux-i586.bin
mv $1/jdk1.6.0_18 /usr/lib/jvm/jdk1.6.0_18
unzip apache-ant-1.9.2-bin.zip
mv $1/apache-ant-1.9.2 /opt/openjdk/apache-ant-1.9.2 rootubuntu:/opt# vi build_openjdk_3 #!/bin/bash
export JAVA_HOME/usr/lib/jvm/jdk1.6.0_18
export ANT_HOME/opt/openjdk/apache-ant-1.9.2
export LANGC
export ALT_BOOTDIR/usr/lib/jvm/jdk1.6.0_18
unset JAVA_HOME
export ALT_JDK_IMPORT_PATH/usr/lib/jvm/jdk1.6.0_18
unset CLASSPATH
cd /opt/openjdk/jdk7
make sanity make debug_build BUILD_JAXWSfalse BUILD_JAXPfalse 6、赋予权限输入以下三个命令。 rootubuntu:/opt# chmod x build_openjdk_1
rootubuntu:/opt# chmod x build_openjdk_2
rootubuntu:/opt# chmod x build_openjdk_3 7、执行三个文件输入以下三个命令第二个命令后面的参数是你JDK和ant下载后存放的路径。 rootubuntu:/opt# ./build_openjdk_1
rootubuntu:/opt# ./build_openjdk_2 /root/Downloads/
rootubuntu:/opt# ./build_openjdk_3 8、倘若一切顺利的话三个命令执行下来应该大约需要四五个小时编译成功将出现以下内容。 -- Build times ----------
Target debug_build
Start 2013-09-06 22:24:59
End 2013-09-07 00:03:39
00:02:44 corba
01:07:22 hotspot
00:27:02 jdk
00:01:30 langtools
01:38:40 TOTAL
-------------------------
make[2]: Leaving directory /opt/openjdk/jdk7
make[1]: Leaving directory /opt/openjdk/jdk7 输入以下命令可以看一下我们编译出的JDK版本。 rootubuntu:/opt/openjdk/jdk7/build/linux-i586-debug/j2sdk-image/bin# /opt/openjdk/jdk7/build/linux-i586-debug/j2sdk-image/bin/java -version
openjdk version 1.7.0-internal-debug
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2013_09_06_22_24-b00)
OpenJDK Client VM (build 21.0-b17-jvmg, mixed mode) 小提示 1、三个脚本的执行都会非常慢因此过程中需要耐心等待其中第一个脚本是下载openjdk源码第二个是安装编译JDK需要的依赖包第三个则是真正的编译过程。 2、第一和第二个脚本因为都是在下载因此速度与网速有直接关系。任何一个脚本中途执行失败的话都可以重复执行不会影响JDK的编译。 3、如果是从零开始编译那么花费的时间会比较久请务必拿出你的耐心来莫要中途而废。 版权声明 作者zuoxiaolong左潇龙 出处博客园左潇龙的技术博客--http://www.cnblogs.com/zuoxiaolong 您的支持是对博主最大的鼓励感谢您的认真阅读。 本文版权归作者所有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则保留追究法律责任的权利。 转载于:https://www.cnblogs.com/Zyf2016/p/6337763.html