注:还有问题,还没有成功,哪位能帮忙解答一下 -_-~|||
0、首先,要有耐心,相信会有够折腾的;如果你会提出“为什么要自己做编译JDK这样无聊的事情”这样的问题的话,还是别往下看了,浪费时间啊。
我是参照openjdk的这个文档(README-builds.html)来做的,附件传不上去我就不传了,openjdk里面有。
1、我是再Windows上面编译的,肯定比Linux下要麻烦一些,首先访问到 http://download.java.net/openjdk/jdk7/
下载openjdk-7-fcs-src-b147-27_jun_2011.zip
解压(这个版本不需要JDK Plug)。
2、下载Visual Studio 2010版本,安装。JDK就是用它来编译的。
3、安装Ant,1.7.1版本以上。
4、安装FreeType(http://www.freetype.org/download.html),是一个字体渲染库:
http://download.savannah.gnu.org/releases/freetype/。
5、文档上说要安装InfoZIP(http://www.info-zip.org/),我没有下。
6、安装Cygwin(http://www.cygwin.com/),cygwin是一个在windows平台上运行的unix模拟环境,这样就可以在Windows上面执行sh脚本了,安装的时候至少要在可选包里面把ar、make、m4、cpio、gawk、file、zip、unzip、free、make这几个包勾上。
7、安装DirectX 9.0 SDK(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21416)。
8、写一个脚本,专门用来配置环境变量的:
set ALT_BOOTDIR=D:\junction\JDK\jdk1.6.0
set ALT_JDK_IMPORT_PATH=%ALT_BOOTDIR%
set ANT_HOME=D:\Software Development Environment\Build\apache-ant-1.8.2
set ALT_MSVCRNN_DLL_PATH=C:\WINDOWS\system32
set ALT_DXSDK_PATH=D:\Software Development Environment\Microsoft DirectX 9.0 SDK (Summer 2004)\
set ALT_FREETYPE_HEADERS_PATH=D:\Software Development Environment\Font\freetype-2.4.6\include
set INCLUDE=D:\junction\VS\VC\lib;%INCLUDE%
set LIB=D:\junction\VS\VC\lib;%LIB%
set LIBPATH=%LIB%
set PATH=D:\junction\VS\VC\bin;D:\junction\VS\Common7\IDE;D:\junction\Cygwin\bin;%PATH%
set BUILD_CORBA=false
set JAVA_HOME=
说明几个事情:
(1)JAVA_HOME环境变量需要设为空,这样就取消了这个环境变量。
(2)BUILD_CORBA设为false,是因为我的系统是中文版的,Java IDL会因为生成了中文注释而出错。
(3)像JDK、Cygwin等路径最好不要有中文和空格(比如出现了空格后面make的时候会警告),可我已经安装到带有空格的路径下了,怎么办?我想了个办法,下载了一个M$的junction工具:http://technet.microsoft.com/zh-cn/sysinternals/bb896768.aspx,它可以创建一个类似于文件夹映像,很像Linux下面的符号链接,这样新创建的映像路径设为没有空格的英文路径即可。
9、到openjdk目录下,执行:make sainty,这个命令可以检查错误,报错:
Compiler-msvc.gmk:117: *** COMPILER_VERSION cannot be empty here. Stop.
网上找到一篇文章,说明了这个情况:http://www.java.net/node/659597
不过我直接编辑这个gmk文件,直接把COMPILER_VERSION写入,绕过这个问题。
10、继续执行make sainty,接着报错:
sanity-rules.gmk:64: *** multiple target patterns. Stop.
网上找到的文章这样说:(http://mail.openjdk.java.net/pipermail/build-dev/2007-July/000116.html)
> Download a patched cygwin make binary from
> http://www.cmake.org/files/cygwin/make.exe
我就下了并且替换了,接着继续报错,说找不到cygintl-3.dll,无奈,我去下载了cygintl-3.dll,接着报:
make.exe - 损坏的图像
---------------------------
应用程序或 DLL D:\junction\Cygwin\bin\cygintl-3.dll 为无效的 Windows 映像。请再检测一遍您的安装盘。
汗,暂时不搞了。。。
哪位大侠了解情况帮忙指点一下。
分享到:
相关推荐
对于想了解JDK源码的朋友来说,通过调试JDK源码来学习是一个常用的方法。但是默认的情况下eclipse是...二是自己去编译jdk源码,如何自己编译可以参看我的博客:http://blog.csdn.net/ftp_2014/article/details/51087603
友善之臂搭建NanoPi M1 Plus(全志H3 arm开发板)安卓编译环境过程中所需的jdk和gcc,当然其他需要这两个文件也可以用。如果你正好也在编译M1,可以看编译教程:codbo.cn/blog-231.html
openjdk 8 编译JDK结果,自己编译,可以代替oracle jdk使用。具体编译方法也在我的共享中上传,希望对你有帮助。
jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具
java jdk1.7源码包,用于centos7使用jdk1.7编译openjdk1.8的 1.7版本
https://hg.openjdk.java.net/jdk/jdk12/file/06222165c35f/这个网站下载的速度贼慢,这里共享一份,可快速下载的174M
jdk1.8编译类文件反编译工具。使用方式:java -jar procyon-decompiler-0.5.30.jar ***.class -o c:\**
想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原理,虽然门槛高一点,但肯定比阅读各种书籍,文章,博客更在贴切一点,另外,JDK的很多方法都是...
深入理解Java虚拟机中右编译JDK的附录,自己结合自己的环境(win 7 64)编译的openjdk的hotspot和jdk8
java反编译工具jad 1.5.8g支持 jdk1.5,jdk1.6。 说明很多 记住一个万能的命令基本就够用了。 jad -sjava -r -8 -o **\*.class <br>--------------- This is README file for Jad - the fast Java ...
支持jdk1.2 jdk1.3 jdk1.4 jdk1.5 jdk1.6 支持目录对目录 支持直接双击class文件看源代码
非常好用的反编译工具jd-gui,反编译工具支持jdk1.7及以下反编译,反编译工具支持jdk1.7及以下反编译
1、支持JDK 1.1.8, JDK 1.3.1, JDK 1.4.2, JDK 1.5.0, JDK 1.6.0, JDK 1.7.0, JDK 1.8.0, JDK 9.0.1, JDK 10.0.2 2、下载包,包含jd-gui-1.6.3.jar,jd-gui-windows-1.6.3.zip,jd-eclipse-2.0.0
Luyten可以反编译jdk1.8的java代码, 以前用jd-gui,感觉挺好用的。最近项目用了jdk1.8,jd-gui就不好用了,总是显示// INTERNAL ERROR //
FrontEnd Plus V1.04 (最新版,支持反编译jdk1.6) --(内含jad) 著名的java反编译工具 jad的可视化图形工具 ======================================= 今天本想在CSDN下载个反编译工具FrontEnd ....
java jdk 反编译 将class文件反编译成java文件 不用安装 直接使用小程序 即可将.class文件反编译成.java文件
编译java语言所用的JDK,