zoukankan      html  css  js  c++  java
  • 自己编译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、写一个脚本,专门用来配置环境变量的:

    Bat代码  收藏代码
    1. set ALT_BOOTDIR=D:junctionJDKjdk1.6.0  
    2. set ALT_JDK_IMPORT_PATH=%ALT_BOOTDIR%  
    3. set ANT_HOME=D:Software Development EnvironmentBuildapache-ant-1.8.2  
    4. set ALT_MSVCRNN_DLL_PATH=C:WINDOWSsystem32  
    5. set ALT_DXSDK_PATH=D:Software Development EnvironmentMicrosoft DirectX 9.0 SDK (Summer 2004)  
    6. set ALT_FREETYPE_HEADERS_PATH=D:Software Development EnvironmentFontfreetype-2.4.6include  
    7. set INCLUDE=D:junctionVSVClib;%INCLUDE%  
    8. set LIB=D:junctionVSVClib;%LIB%  
    9. set LIBPATH=%LIB%  
    10. set PATH=D:junctionVSVCin;D:junctionVSCommon7IDE;D:junctionCygwinin;%PATH%  
    11. set BUILD_CORBA=false  
    12. 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,这个命令可以检查错误,报错:

    Java代码  收藏代码
    1. Compiler-msvc.gmk:117: *** COMPILER_VERSION cannot be empty here. Stop.  

    网上找到一篇文章,说明了这个情况:http://www.java.net/node/659597

    不过我直接编辑这个gmk文件,直接把COMPILER_VERSION写入,绕过这个问题。

    10、继续执行make sainty,接着报错:

    Java代码  收藏代码
    1. sanity-rules.gmk:64: *** multiple target patterns.  Stop.  

    网上找到的文章这样说:(http://mail.openjdk.java.net/pipermail/build-dev/2007-July/000116.html) 

    Java代码  收藏代码
    1. > Download a patched cygwin make binary from  
    2. > http://www.cmake.org/files/cygwin/make.exe  

    我就下了并且替换了,接着继续报错,说找不到cygintl-3.dll,无奈,我去下载了cygintl-3.dll,接着报:

    Java代码  收藏代码
    1. make.exe - 损坏的图像  
    2. ---------------------------  
    3. 应用程序或 DLL D:junctionCygwinincygintl-3.dll 为无效的 Windows 映像。请再检测一遍您的安装盘。   
  • 相关阅读:
    javascript 基础知识-1
    AngularJs-指令和指令之间的交互(动感超人)
    AngularJs-指令和控制器交互
    奇点大学公开课之尼葛洛庞帝讲述物联网和智能设备
    AngularJs-数据绑定
    AngularJs-指令1
    AngularJs-MVC之路由、模块以及依赖注入
    AngularJS-MVC
    利用canvas制作图片(可缩放和平移)+相框+文字
    Django rest framework 认证组件源码分析
  • 原文地址:https://www.cnblogs.com/tiny-kong/p/3980261.html
Copyright © 2011-2022 走看看