zoukankan      html  css  js  c++  java
  • 编译自己的jdk(使用openJDK源码编译jdk )

    找到openjdk网站(http://hg.openjdk.java.net/) 选择需要编译的版本,浏览readme文件,有获取源码及编译步骤

    CentOS-7-x86_64-DVD-1804.iso

    • vim /etc/sysconfig/network-scripts/ifcfg-ens33
    • 设置ONBOOT=yes
    • 重启网络服务systemctl restart network

    源代码及Bootstrap JDK准备

    Bootstrap JDK移至/usr/local/java

    	cd /usr/local/java
    	tar -xzvf jdk-8u40-linux-x64.gz 
    	yum install mercurial
    	hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/
    	cd jdk8u-dev
    	sh ./get_source.sh
    

    环境准备

    bash ./configure
    根据提示yum install 安装所有缺少的依赖
    直至运行bash ./configure出现下面

        A new configuration has been successfully created in
    	/usr/local/java/jdk8u-dev/build/linux-x86_64-normal-server-release
    	using default settings.
    
    	Configuration summary:
    	* Debug level:    release
    	* JDK variant:    normal
    	* JVM variants:   server
    	* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
    
    	Tools summary:
    	* Boot JDK:       openjdk version "1.8.0_232" OpenJDK Runtime Environment (build 1.8.0_232-b09) OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)  (at /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64)
    	* Toolchain:      gcc (GNU Compiler Collection)
    	* C Compiler:     Version 4.8.5 (at /usr/bin/gcc)
    	* C++ Compiler:   Version 4.8.5 (at /usr/bin/g++)
    
    	Build performance summary:
    	* Cores to use:   1
    	* Memory limit:   974 MB
    

    编译

    	make all
    	----- Build times -------
    	Start 2019-11-20 14:30:45
    	End   2019-11-20 15:20:07
    	00:00:37 corba
    	00:00:42 demos
    	00:06:47 docs
    	00:14:52 hotspot
    	00:01:36 images
    	00:00:24 jaxp
    	00:00:32 jaxws
    	00:22:51 jdk
    	00:00:44 langtools
    	00:00:16 nashorn
    	00:49:22 TOTAL
    	-------------------------
    	Finished building OpenJDK for target 'all'
    

    使用

    • 进入image文件夹
      cd build/linux-x86_64-normal-server-release/images/j2sdk-image/bin
    • 查看此java版本
    	[root@localhost bin]# ./java -version
    	openjdk version "1.8.0-internal"
    	OpenJDK Runtime Environment (build 1.8.0-internal-root_2019_11_20_14_27-b00)
    	OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)
    

    之后这个整个 j2sdk-image 文件夹就可以被拷贝到任何地方,并配置环境变量使用

    	export JAVA_HOME=/usr/用户名/java/OpenJDK_1.8.0
    	export CLASSPATH=./:$JAVA_HOME/lib
    	export PATH=$JAVA_HOME/bin:$PATH
    

    之后source .bash_profile使环境变量生效,用java -version查看结果

  • 相关阅读:
    vi 整行 多行 复制与粘贴
    FPGA设计—UVM验证篇 Hello world
    武汉市最大的二手车市场
    vim 使用技巧
    CentOS 7下的软件安装方法及策略
    搜索插件:ack.vim
    Vim插件管理
    【一】 sched.h
    Android USB驱动源码分析(-)
    在Python中反向遍历序列(列表、字符串、元组等)的五种方式
  • 原文地址:https://www.cnblogs.com/lantuanqing/p/12028058.html
Copyright © 2011-2022 走看看