`

自己编译JDK

阅读更多

注:还有问题,还没有成功,哪位能帮忙解答一下 -_-~|||

 

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 映像。请再检测一遍您的安装盘。 

汗,暂时不搞了。。。

 

哪位大侠了解情况帮忙指点一下。 

 

 

 

0
0
分享到:
评论
2 楼 wq611403 2012-02-07  
最后一步安装下cygwin 的libintl3 就好了。具体步骤 setup.exe(cygwin) 在select packages的时候search libintl3, 然后装一下应该就解决这个问题了。
1 楼 xing_kenny 2011-10-23  
用 http://www.cmake.org/files/cygwin/make.exe-cygwin1.7 试一下,
参考 http://blog.csdn.net/intimater/article/details/6136909
但是我也没走到最后
真是太麻烦啦!

相关推荐

    自己重新编译的jdk源码jar包

    对于想了解JDK源码的朋友来说,通过调试JDK源码来学习是一个常用的方法。但是默认的情况下eclipse是...二是自己去编译jdk源码,如何自己编译可以参看我的博客:http://blog.csdn.net/ftp_2014/article/details/51087603

    jdk-6u45-linux-x64.bin+gcc-linaro-arm.tar.xz

    友善之臂搭建NanoPi M1 Plus(全志H3 arm开发板)安卓编译环境过程中所需的jdk和gcc,当然其他需要这两个文件也可以用。如果你正好也在编译M1,可以看编译教程:codbo.cn/blog-231.html

    openjdk 8 编译JDK结果

    openjdk 8 编译JDK结果,自己编译,可以代替oracle jdk使用。具体编译方法也在我的共享中上传,希望对你有帮助。

    jdk反编译工具

    jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具

    java jdk1.7源码包,用于centos7使用jdk1.7编译openjdk1.8的 1.7版本

    java jdk1.7源码包,用于centos7使用jdk1.7编译openjdk1.8的 1.7版本

    ubuntu 18.04编译JDK 12源码包

    https://hg.openjdk.java.net/jdk/jdk12/file/06222165c35f/这个网站下载的速度贼慢,这里共享一份,可快速下载的174M

    jdk1.8class反编译

    jdk1.8编译类文件反编译工具。使用方式:java -jar procyon-decompiler-0.5.30.jar ***.class -o c:\**

    编译好的JDk

    想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原理,虽然门槛高一点,但肯定比阅读各种书籍,文章,博客更在贴切一点,另外,JDK的很多方法都是...

    编译好的 Hotspot 和jdk8

    深入理解Java虚拟机中右编译JDK的附录,自己结合自己的环境(win 7 64)编译的openjdk的hotspot和jdk8

    java反编译工具jad 1.5.8g(可以反编译jdk1.5,1.6)

    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.5 jdk1.6 反编译 工具

    支持jdk1.2 jdk1.3 jdk1.4 jdk1.5 jdk1.6 支持目录对目录 支持直接双击class文件看源代码

    反编译工具支持jdk1.7及以下反编译

    非常好用的反编译工具jd-gui,反编译工具支持jdk1.7及以下反编译,反编译工具支持jdk1.7及以下反编译

    JAVA反编译工具JD-GUI最新版,支持JDK7,8,9,10

    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-0.5.3可以反编译jdk1.8代码

    Luyten可以反编译jdk1.8的java代码, 以前用jd-gui,感觉挺好用的。最近项目用了jdk1.8,jd-gui就不好用了,总是显示// INTERNAL ERROR //

    FrontEnd Plus V1.04(最新版,支持反编译jdk1.6)

    FrontEnd Plus V1.04 (最新版,支持反编译jdk1.6) --(内含jad) 著名的java反编译工具 jad的可视化图形工具 ======================================= 今天本想在CSDN下载个反编译工具FrontEnd ....

    java jdk 反编译工具

    java jdk 反编译 将class文件反编译成java文件 不用安装 直接使用小程序 即可将.class文件反编译成.java文件

    编译java语言所用的JDKjdk1.8

    编译java语言所用的JDK,

Global site tag (gtag.js) - Google Analytics