找到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查看结果

最新文章

  1. GitHub for windows呆瓜级入门
  2. Linux下添加新硬盘,分区及挂载(转)
  3. 关于cin,getchar(),scanf()的注意事项(转)
  4. Python基础一. 简介、变量、对象及引用
  5. Mac OS X上用CoreCLR运行一个真正的.NET控制台程序
  6. 分布式架构从零开始========》【基于Java自身技术实现消息方式的系统间通信】
  7. 设置浮点数的显示精度&precision(0)
  8. android layoutparams应用指南(转)
  9. xcode5.1上真机调试报告No architectures to compile for...的解决办法
  10. iOS进阶:Objective-C runtime(一)
  11. matplotlib实现数据可视化
  12. oracle如何导出和导入数据库表
  13. Mysql中的explain和desc
  14. es6 常用方法
  15. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipartResolver': Failed to introspect bean class [org.springframework.web.multipart.commons.CommonsMultipartR
  16. EFM32之GPIO
  17. shell正则表达
  18. Centos6.8 安装nginx
  19. 【读书笔记】iOS-iOS视频
  20. uoj#274. 【清华集训2016】温暖会指引我们前行

热门文章

  1. 人生苦短_我用Python_logging日志操作_011
  2. CPU性能优化
  3. .NET面试题集锦①
  4. 英语单词custom
  5. oracle集合的应用
  6. sql 用语句还原多数据文件的数据库
  7. 【HDU6609】Find the answer【线段树】
  8. Eternal Victory
  9. vue搭建项目之设置axios
  10. 小程序UI自动化(一):appium小程序自动化尝试