`
KindAzrael
  • 浏览: 16564 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Linux 下编译 OpenJDK7 包括JVM和JDK API

阅读更多
1.首先去 这里 http://download.java.net/openjdk/jdk7/ 下载OpenJDK7的源码zip包

2. 简要介绍下OpenJDK7中的目录
    hotspot: 放有OpenJDK Hotspot Virtual Machine 的源代码和make文件
    langtools: 放有OpenJDK 的javac 等工具的源代码和make文件
    cobra: 放有OpenJDK Cobra 的源代码和make文件
    jaxws: 放有OpenJDK JAXWS 的相关信息和make文件, 具体的源代码再编译时会下载
    jaxp: 放有OpenJDK JAXP 相关信息和make文件,具体的源代码再编译时会下载
    jdk: 放有OpenJDK runtime libraries 的源代码和make文件
    直接OpenJDK 目录下有整个OpenJDK 的make文件

3. 检查系统的工具版本,以下配置基于OpenJDK7
    3.1 GNU make 3.81或更高版本
    3.2 ANT 1.7.1或更高版本
    3.3 Sun 的BootstrapJDK6 update14或更高版本(虽然有些奇怪,但是因为编译这些Java代码需要一个可用的JDK)
    3.4 GNU gcc 4.3或更高版本
    3.5 ZIP 2.2或更高版本
    3.6 FreeType 2.3或更高版本 (下载地址http://download.savannah.gnu.org/releases/freetype/  ,下载后解压)
    3.7 Advanced Linux Sound Architecture(ALSA) 0.9.1或更高版本(下载地址http://www.alsa-project.org/main/index.php/Download)

4. 如果怕麻烦可以使用相关命令来安装依赖包
    Fedora: yum-builddep java-1.6.0-openjdk
    Debian:  aptitude build-dep openjdk-6
  Ubuntu: sudo aptitude build-dep openjdk-6
  其它具体的可以参考OpenJDK中的README-builds.html

5. 环境工具设置好后了运行以下命令以设置或取消环境变量
    export LANG=C
    export ALT_BOOTDIR=/usr/java/jdk1.6.0_30/
    export ALLOW_DOWNLOADS=true
    export USE_PRECOMPILED_HEADER=true
    export SKIP_DEBUG_BUILD=false
    export SKIP_FASTDEBUG_BUILD=true
    export DEBUG_NAME=debug
    unset CLASSPATH
    unset JAVA_HOME

6. 到OpenJDK目录下运行 make sanity 进行检测 如果输出如下证明OpenJDK 编译环境检测没有问题
       PREVIOUS_RELEASE_IMAGE = 
          ALT_PREVIOUS_RELEASE_IMAGE = 
       Sanity check passed.
      如果是下面这样证明 环境依然有问题, 按照提示的WARNING 和 ERROR进行修改 直到检测通过
      ERROR: Your JAVA_HOME environment variable is set.  This will 
              most likely cause the build to fail.  Please unset it 
               and start your build again. 
       Exiting because of the above error(s). 
 
       make: *** [post-sanity] Error 1

7. 检测通过了在OpenJDK目录下运行
  make clean
  make

8. 注意事项
  8.1 保持所有命令是在同一个用户下运行的而且这个用户么还有JAVA_HOME 等环境变量
      这样编译程序才能正确的找到环境变量和不会有权限冲突
  8.2 OpenJDK 编译可能需要些时间,不要慌张
  8.3 要有ALLOW_DOWNLOADS=true。否则编译jaxp的时候会出错,因为jaxp的源代码是临时下载的
  8.3 OpenJDK 目录下的README-builds.html网页文档可以提供很多帮助.

9. 编译完成
  -- Build times ----------
  Target debug_build
  Start 2012-02-18 21:09:17
  End   2012-02-18 21:54:06
  00:01:04 corba
  00:20:53 hotspot
  00:03:57 jaxp
  00:04:14 jaxws
  00:14:15 jdk
  00:00:26 langtools
  00:44:49 TOTAL
  在OpenJDK目录下有个build文件夹是编译的output文件夹
  azrael@ubuntu:~/Tech/openjdk$ cd build/
  azrael@ubuntu:~/Tech/openjdk/build$ ll
  total 16
  drwxr-xr-x  4 azrael azrael 4096 Feb 18 20:37 ./
  drwxr-xr-x 12 azrael azrael 4096 Feb 18 20:35 ../
  drwxr-xr-x 27 azrael azrael 4096 Feb 18 21:53 linux-i586/
  drwxr-xr-x 26 azrael azrael 4096 Feb 18 21:08 linux-i586-debug/
  azrael@ubuntu:~/Tech/openjdk/build/linux-i586/bin$ ./java -version
  openjdk version "1.7.0-internal-debug"
  OpenJDK Runtime Environment (build 1.7.0-internal-debug-azrael_2012_02_18_20_37-b00)
  OpenJDK Server VM (build 21.0-b17-jvmg, mixed mode)

1
0
分享到:
评论

相关推荐

    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可...

    编译OpenJDK7资料夹.rar

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

    OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz

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

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

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

    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-7.zip

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

    OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz

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

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

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

    openjdk 19 linux版本 解压安装包

    JDK(Java Development Kit)则是Oracle公司提供的官方Java开发工具包,包含了OpenJDK源代码和其他专有组件,如JavaFX。对于大多数用途,OpenJDK和JDK之间没有显著功能差异。 **2. 下载OpenJDK 19** 在下载OpenJDK...

    OpenJDK8U-jdk_x64_linux_hotspot_8u275b01.tar.gz

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

    openjdk 21 下载 ,开源版本

    在提供的压缩包文件"jdk-21.0.2+13"中,包含的是OpenJDK 21的具体实现,可能包括JRE(Java Runtime Environment)和完整的JDK工具集。解压后,你可以按照上述步骤进行安装和配置,以便在你的开发环境中使用OpenJDK ...

    OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz

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

    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)是一种...

    openJDK-7.tar.gz

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

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

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

    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公司和其他...

    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版本的openjdk7,有需要的可以下载

    3. **编译器**:JDK中的javac编译器用于将Java源代码编译成字节码,OpenJDK 7的编译器在性能和错误处理方面进行了优化。 4. **Javadoc工具**:生成Java API文档的工具,便于开发者理解和使用类库。 5. **JAR工具**...

    OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip

    OpenJDK项目不仅包含JDK的核心组件,如Java虚拟机(JVM)、类库和工具,还提供了一个社区驱动的开发环境,鼓励开发者参与并改进其源代码。 2. **JDK 1.8**: JDK 1.8是Java平台标准版的第8个主要版本,发布于2014...

Global site tag (gtag.js) - Google Analytics