win10编译openjdk源码

上篇文章作者在ubuntu系统上实践完成openjdk源码的编译,但是平常使用更多的是window系统,ubuntu上编译出来JDK无法再windows上使用。所以作者又花费了很长时间在windows系统上完成openjdk源码的编译,陆续花费一个月的时间终于完成了编译。
本文挑拣关键点记录,就不详细记录踩坑的细节。如果您希望快速成功编译,欢迎咨询。

1、安装vs2010,仅需安装C++模块。
重要的事情说三遍:
一定要安装英文专业版!!!
一定要安装英文专业版!!!
一定要安装英文专业版!!!

2、编译freetype。这项参照网上帖子,一般问题不大。
3、下载安装Cygwin。这项参照网上帖子,一般问题不大。

出现的问题:
1、Your cygwin is too old. You are running 3.4.10-1.x86_64, but at least cygwin 1.7 is required. Please upgrade
在这里插入图片描述
解决方法:
openjdk\common\autoconf\generated-configure.sh,注释cygwin版本检查部分
在这里插入图片描述
2、java.lang.RuntimeException: time is more than 10 years from present: 138852720000
在这里插入图片描述
解决方法:
将284行10年改成50年。
在这里插入图片描述
3、CreateJars.gmk文件问题

make[2]: *** [CreateJars.gmk:268/cygdrive/e/hub/openjdk/jdk8u/build/windows-x86_64-normal-server-release/images/lib/_the.rt.jar.contents] 错误 1
make[2]: *** 正在等待未完成的任务....
make[1]: *** [BuildJdk.gmk:101:images] 错误 2
make: *** [/cygdrive/e/hub/openjdk/jdk8u//make/Main.gmk:136:images-only] 错误 2

解决方法:
使用本地git shell工具编辑CreateJars.gmk文件。
cd jdk/make
vi CreateJars.gmk
在268行,有两处:.class$$,在$$之前插入一个特殊字符。做法如下:
i进入编辑模式,ctrl+v,ctrl+m,按esc退出,保存,退出。

目录结构:
在这里插入图片描述

在Cygwin64 终端中执行命令
1、bash ./configure --enable-debug --with-target-bits=64 --with-boot-jdk=/cygdrive/c/jdk1.8.0_131 --with-freetype=/cygdrive/d/jdk8_src/freetype-2.13.2/
在这里插入图片描述
执行成功结果:
在这里插入图片描述
2、编译 make all
在这里插入图片描述

执行成功结果:
大概等待约20分钟,不同机器时间不一。
在这里插入图片描述
生成的文件目录
在这里插入图片描述
j2sdk-image目录下边的目录结构我们就比较熟悉了,就是我们平常使用的jdk目录。
在这里插入图片描述
查看java版本:
在这里插入图片描述
执行HelloWorld

public class HelloWorld{
   
	public static void main(String[] args){
   
		System.out.println("Hello world !");
	}
}

在这里插入图片描述
在这里插入图片描述
素材:https://pan.baidu.com/s/184Szg44DfUL8dEgeXmq9Fg?pwd=1234

相关推荐

  1. centos 编译gcc10.2

    2024-02-22 10:14:02       47 阅读
  2. android 编译android 12

    2024-02-22 10:14:02       49 阅读
  3. 麒麟V10+飞腾处理器编译qt

    2024-02-22 10:14:02       33 阅读
  4. Debian11编译 rtpengine 11.1

    2024-02-22 10:14:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-22 10:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-22 10:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-22 10:14:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-22 10:14:02       20 阅读

热门阅读

  1. R语言【sp】——定义控件光栅

    2024-02-22 10:14:02       21 阅读
  2. # 二进制+Html

    2024-02-22 10:14:02       30 阅读
  3. c语言之continue

    2024-02-22 10:14:02       24 阅读
  4. HTML---html面试题

    2024-02-22 10:14:02       27 阅读
  5. WebRTC 中带宽估计与拥塞控制算法

    2024-02-22 10:14:02       25 阅读
  6. Tomcat线程池原理(下篇:工作原理)

    2024-02-22 10:14:02       29 阅读
  7. springcloud多网卡注册nacos时IP控制方法

    2024-02-22 10:14:02       23 阅读