`
weigang.gao
  • 浏览: 491117 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Linux 下编译自己的 OpenJDK7 包括JVM和JDK API

 
阅读更多

原文:http://blog.csdn.net/kindazrael/article/details/7266314

[plain] view plaincopy
 
  1. 1.首先去 这里 http://download.java.net/openjdk/jdk7/ 下载OpenJDK7的源码zip包  
  2.   
  3. 2. 简要介绍下OpenJDK7中的目录  
  4.     hotspot: 放有OpenJDK Hotspot Virtual Machine 的源代码和make文件  
  5.     langtools: 放有OpenJDK 的javac 等工具的源代码和make文件  
  6.     cobra: 放有OpenJDK Cobra 的源代码和make文件  
  7.     jaxws: 放有OpenJDK JAXWS 的相关信息和make文件, 具体的源代码再编译时会下载  
  8.     jaxp: 放有OpenJDK JAXP 相关信息和make文件,具体的源代码再编译时会下载  
  9.     jdk: 放有OpenJDK runtime libraries 的源代码和make文件  
  10.     直接OpenJDK 目录下有整个OpenJDK 的make文件  
  11.   
  12. 3. 检查系统的工具版本,以下配置基于OpenJDK7  
  13.     3.1 GNU make 3.81或更高版本  
  14.     3.2 ANT 1.7.1或更高版本  
  15.     3.3 Sun 的BootstrapJDK6 update14或更高版本(虽然有些奇怪,但是因为编译这些Java代码需要一个可用的JDK)  
  16.     3.4 GNU gcc 4.3或更高版本  
  17.     3.5 ZIP 2.2或更高版本  
  18.     3.6 FreeType 2.3或更高版本 (下载地址http://download.savannah.gnu.org/releases/freetype/  ,下载后解压)  
  19.     3.7 Advanced Linux Sound Architecture(ALSA) 0.9.1或更高版本(下载地址http://www.alsa-project.org/main/index.php/Download)  
  20.   
  21. 4. 如果怕麻烦可以使用相关命令来安装依赖包  
  22.     Fedora: yum-builddep java-1.6.0-openjdk  
  23.     Debian:  aptitude build-dep openjdk-6  
  24.   Ubuntu: sudo aptitude build-dep openjdk-6  
  25.   其它具体的可以参考OpenJDK中的README-builds.html  
  26.   
  27. 5. 环境工具设置好后了运行以下命令以设置或取消环境变量  
  28.     export LANG=C  
  29.     export ALT_BOOTDIR=/usr/java/jdk1.6.0_30/  
  30.     export ALLOW_DOWNLOADS=true  
  31.     export USE_PRECOMPILED_HEADER=true  
  32.     export SKIP_DEBUG_BUILD=false  
  33.     export SKIP_FASTDEBUG_BUILD=true  
  34.     export DEBUG_NAME=debug  
  35.     unset CLASSPATH  
  36.     unset JAVA_HOME  
  37.   
  38. 6. 到OpenJDK目录下运行 make sanity 进行检测 如果输出如下证明OpenJDK 编译环境检测没有问题  
  39.        PREVIOUS_RELEASE_IMAGE =   
  40.           ALT_PREVIOUS_RELEASE_IMAGE =   
  41.        Sanity check passed.  
  42.       如果是下面这样证明 环境依然有问题, 按照提示的WARNING 和 ERROR进行修改 直到检测通过  
  43.       ERROR: Your JAVA_HOME environment variable is set.  This will   
  44.               most likely cause the build to fail.  Please unset it   
  45.                and start your build again.   
  46.        Exiting because of the above error(s).   
  47.    
  48.        make: *** [post-sanity] Error 1  
  49.   
  50. 7. 检测通过了在OpenJDK目录下运行  
  51.   make clean  
  52.   make  
  53.   
  54. 8. 注意事项  
  55.   8.1 保持所有命令是在同一个用户下运行的而且这个用户么还有JAVA_HOME 等环境变量  
  56.       这样编译程序才能正确的找到环境变量和不会有权限冲突  
  57.   8.2 OpenJDK 编译可能需要些时间,不要慌张  
  58.   8.3 要有ALLOW_DOWNLOADS=true。否则编译jaxp的时候会出错,因为jaxp的源代码是临时下载的  
  59.   8.3 OpenJDK 目录下的README-builds.html网页文档可以提供很多帮助.  
  60.   
  61. 9. 编译完成  
  62.   -- Build times ----------  
  63.   Target debug_build  
  64.   Start 2012-02-18 21:09:17  
  65.   End   2012-02-18 21:54:06  
  66.   00:01:04 corba  
  67.   00:20:53 hotspot  
  68.   00:03:57 jaxp  
  69.   00:04:14 jaxws  
  70.   00:14:15 jdk  
  71.   00:00:26 langtools  
  72.   00:44:49 TOTAL  
  73.   在OpenJDK目录下有个build文件夹是编译的output文件夹  
  74.   azrael@ubuntu:~/Tech/openjdk$ cd build/  
  75.   azrael@ubuntu:~/Tech/openjdk/build$ ll  
  76.   total 16  
  77.   drwxr-xr-x  4 azrael azrael 4096 Feb 18 20:37 ./  
  78.   drwxr-xr-x 12 azrael azrael 4096 Feb 18 20:35 ../  
  79.   drwxr-xr-x 27 azrael azrael 4096 Feb 18 21:53 linux-i586/  
  80.   drwxr-xr-x 26 azrael azrael 4096 Feb 18 21:08 linux-i586-debug/  
  81.   azrael@ubuntu:~/Tech/openjdk/build/linux-i586/bin$ ./java -version  
  82.   openjdk version "1.7.0-internal-debug"  
  83.   OpenJDK Runtime Environment (build 1.7.0-internal-debug-azrael_2012_02_18_20_37-b00)  
  84.   OpenJDK Server VM (build 21.0-b17-jvmg, mixed mode)  
分享到:
评论

相关推荐

    Linux环境OpenJDK8U-jdk-x64-linux-hotspot-8u372b07.tar.gz

    标题中的"Linux环境OpenJDK8U-jdk-x64-linux-hotspot-8u372b07.tar.gz"指的是在Linux操作系统环境下使用的OpenJDK 8的更新版本(Update 372,Build 7)的HotSpot虚拟机实现。OpenJDK是一个开源的Java开发工具包,它...

    OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz

    解压OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz后,你会得到一个名为"jdk8u252-b09"的目录,这个目录中包含了一系列的二进制文件、库和配置文件,用于安装和使用Java开发环境。通常,这些文件包括Java可...

    OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz

    总之,OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz是AdoptOpenJDK为64位Linux提供的OpenJDK 8更新版本,提供了一套完整的Java开发和运行环境,包括HotSpot虚拟机,确保开发者能够利用最新改进的安全性和性能...

    OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz

    7. **文件列表**: 压缩包内的文件"jdk-11.0.6+10"通常包括了OpenJDK11的所有必要组件,如bin目录下的Java可执行文件、lib目录下的库文件、include目录下的头文件等。安装时,用户需要解压此文件到合适的位置,并设置...

    OpenJDK11U-jdk_x64_linux_hotspot_11.0.11_9.tar.gz

    JDK(Java Development Kit)是Java编程语言的核心组成部分,它包含了一个Java虚拟机(JVM)、Java类库和用于创建和运行Java应用程序的工具。在本例中,我们关注的是11.0.11版本的HotSpot JVM实现,适用于64位的...

    openjdk 19 linux版本 解压安装包

    OpenJDK 19是Java Development Kit的一个开源实现,它为Linux操作系统提供了Java运行环境和开发工具。在本文中,我们将深入探讨如何在Linux系统上解压并安装OpenJDK 19。首先,让我们了解OpenJDK及其与JDK的关系。 ...

    OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz

    7. **Java运行时环境(JRE)**:JDK的一部分,包含了运行Java应用程序所需的库和JVM,但不包括开发工具。 8. **Java Platform, Standard Edition(Java SE)**:Java SE是Java技术的基础,提供了开发和运行桌面应用...

    编译OpenJDK7资料夹.rar

    本资料夹包含的内容是关于在Linux环境下编译OpenJDK7的完整过程及可能遇到的问题解决方法。 首先,要编译OpenJDK7,你需要一个Linux环境,因为OpenJDK主要是为类Unix系统设计的。推荐使用Ubuntu或Debian这样的基于...

    Ubuntu16.04、Ubuntu18.04、或更高Ubuntu版本安装JDK7参考资料

    在Ubuntu 16.04、18.04或更高版本中安装JDK7的步骤对于开发者来说至关重要,特别是那些需要支持Android 5.1和6.0等较旧版本应用编译的用户。Oracle JDK 7的支持已经结束,但OpenJDK 7作为一个开源替代品仍然可以获取...

    OpenJdk-7.zip

    总之,OpenJDK-7是Ubuntu环境下进行Java开发的重要工具,其 Deb 包的安装使得在Linux系统中部署和使用Java环境变得简单易行。通过了解和掌握OpenJDK-7的安装、组件以及使用方法,开发者可以更好地利用Java进行软件...

    OpenJDK8U-jdk_x64_linux_hotspot_8u275b01.tar.gz

    OpenJDK包含了Java虚拟机(JVM)、Java类库、编译器和其他必要的工具,它们构成了Java平台的基础。OpenJDK的开放源代码特性使得开发者能够查看、修改和分发其源代码,促进了Java技术的创新和发展。 OpenJDK中的...

    openJDK-7.tar.gz

    描述提到"编译Android6.0源码需要的java工具包--openJDK,包括有jdk和jre",意味着这个openJDK-7是针对特定目的——编译Android 6.0(Marshmallow)操作系统源代码而准备的。它包含两个主要部分:JDK(Java开发工具...

    ARM版的OpenJDK11U-jdk_arm_linux_hotspot_11.0.8_10.tar.gz

    这个压缩包包含了运行和开发Java应用程序所需的所有核心组件,包括Java虚拟机(HotSpot JVM)以及Java Development Kit (JDK) 的相关工具。 首先,让我们深入了解一下"ARM版"。ARM(Advanced RISC Machines)是一种...

    编译调试jvm, openjdk8源码, openjdk7, make3.81源码

    本资源包包含了与这个主题相关的关键元素:OpenJDK8和OpenJDK7的源码,以及make 3.81的源码,这些都是构建和调试JVM的重要工具。 首先,OpenJDK是Java Development Kit的开源实现,它提供了Java运行环境和开发工具...

    OpenJDK8U-jdk_x64_windows_hotspot_8u265b01.zip

    OpenJDK是Java SE(Standard Edition)平台的基础,它包含了JVM(Java虚拟机)、JDK工具和Java类库。 JDK(Java Development Kit)是Java开发的核心组件,包含了JRE(Java Runtime Environment)以及用于构建和...

    linux下的jdk版本1.8.0_242

    JDK 1.8.0_242是Oracle公司发布的一个特定版本,它包含了Java编程语言的编译器、类库以及工具,使得开发者能够在Linux系统上进行Java程序的开发、测试和部署。这个版本的JDK对于Linux运维人员来说尤其重要,因为它为...

    OpenJDK8U-jdk_x64_linux_mac_hotspot_8u212b03.zip编译版本

    OpenJDK8U-jdk_x64_linux_mac_hotspot_8u212b03.zip是一个包含针对Linux和Mac操作系统64位架构的OpenJDK 8的Hotspot编译版本的压缩文件。OpenJDK是Java Development Kit(JDK)的一个开源实现,它由Oracle公司和其他...

    openjdk-8u242-b04-linux-x64.tar.gz

    8u242-b04-linux-x64.tar.gz"后,会得到一个名为"jdk8u242-b04"的文件夹,其中包含OpenJDK的完整结构,包括JRE(Java Runtime Environment)用于运行Java程序,以及JDK(Java Development Kit)用于开发和编译Java...

    Win7下编译openjdk8源代码 完整版本 原创

    在介绍如何在Windows 7环境下编译OpenJDK 8源代码之前,有必要了解一些基础知识和前提条件。OpenJDK是Java平台的开源实现,其中包括JVM(Java虚拟机)和Java类库。OpenJDK的源代码使用C和C++编写,支持跨平台编译。...

    openjdk-18.0.1.1(openjdk-18.0.1.1_linux-aarch64_bin.tar.gz)

    有了 OpenJDK,开发者可以在 aarch64 Linux 上进行 Java 应用的开发、编译、测试和部署。`javac` 命令用于编译 Java 源代码,`jar` 工具用于创建和管理 JAR 文件,`javadoc` 用于生成文档,而 `jdb` 是 Java 的调试...

Global site tag (gtag.js) - Google Analytics