很多文章介绍了JDK 8和JDK11源码在Linux编译,很少有人介绍了JDK 17在windows的编译过程,所以写了这篇文章,为什么选用JBR 17版本,因为JBR17 版本集成了HotSwapAgent功能,具体HotSwapAgent有什么用,请看我前面写的文章:

https://blog.csdn.net/penker_zhao/article/details/127460206

在Github上有些简短的描述,如何在Windows环境下,编译源码,但还是遇到了一些坑,现在特别说明下:

JetBrains/JetBrainsRuntime: Runtime environment based on OpenJDK for running IntelliJ Platform-based products on Windows, macOS, and Linux (github.com)

英文原文如下:

Install the following:Cygwin x64. Required packages: autoconf, binutils, cpio, diffutils, file, gawk, gcc-core, make, m4, unzip, zip.
Install those together with Cygwin.
Visual Studio compiler toolset. Install with the desktop development kit, which includes Windows SDK and compilers. Visual Studio 2019 is supported by default.
Java 18 (for instance, Azul Zulu Builds of OpenJDK 18). If you have problems while configuring, read Java tips on Cygwin.
From the command line:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.In the Cygwin shell:$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
This will build the release configuration under ./build/windows-x86_64-server-release/
  1. 首先安装Cygwin,Visual studio community 2019(安装目录一定不要带空格,如果有空格,请重装),JDK 19以上

Cygwin需要安装autoconf, binutils, cpio, diffutils, file, gawk, gcc-core, make, m4, unzip, zip这几个包

JDK19可以在这个目录安装Java Download | Java 7, Java 8, Java 11, Java 13, Java 15, Java 17, Java 19 - Linux, Windows & macOS (azul.com)

通过git命令,下载源码到本地文件夹

git config --global core.autocrlf false

git clone git@github.com:JetBrains/JetBrainsRuntime.git

  1. 在windows终端以管理员的方式运行下面的几个命令:

"D:\MSDN\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"D:\cygwin64\bin\mintty.exe" /bin/bash -l

请自行替换上面的安装目录

  1. 进入Cygwin目录后,运行下面四个命令:

$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
  1. 运行bash configure --with-toolchain-version=2019 命令,可能会碰到下面几个问题:

  • cl.exe error D8003 (missing source filename) when building。一定要运行上面第二点的vcvarsall.bat命令

  • 如果出现找不到一些DLL的情况,可以再重新安装下visual studio 2019的professional或者community版本

  • Visual Studio安装目录,或者path目录有空格的。如果出现failure的字样,可以适当修改,如果不好改,建议重装换没有空格的目录

  • Target CPU mismatch. We are building for x86_64 but CL is for ""; expected "x64"

打开make/autoconf/toolchain.m4,找到相应的字串Target CPU mismatch,有两个办法:

注释这一段if 把AC_MSG_ERROR改成AC_MSG_RESULT

  • 碰到最后以这个问题结尾的,

make[1]: *** [/cygdrive/g/xiaopeng/jdk/JetBrainsRuntime/make/Init.gmk:320:main] 错误 2

make: *** [/cygdrive/g/xiaopeng/jdk/JetBrainsRuntime/make/Init.gmk:186:images] 错误 2

请到JetBrainsRuntime\build\windows-x86_64-server-release\make-support\failure-logs查看具体报错,将utf8格式,改成utf8 with bom保存,我目前遇到了下面大概20个左右文件修改。

src\java.desktop\share\native\libfreetype\src\autofit\afblue.c

src\java.desktop\share\native\libfreetype\src\autofit\afscript.h

jdk\jetbrainsruntime\src\java.desktop\share\native\libharfbuzz\hb.hh

g:\xiaopeng\jdk\jetbrainsruntime\src\java.desktop\share\native\libharfbuzz\hb-style.h(1)

g:\xiaopeng\jdk\jetbrainsruntime\src\java.desktop\share\native\libharfbuzz\hb-ot-layout-common.hh(912)

g:\xiaopeng\jdk\jetbrainsruntime\src\java.desktop\share\native\libfreetype\src\sfnt\ttload.c(1):

  1. 编译成功后,进入build/windows-x86_64-server-release目录,可以看到编译的目录

在bin目录下面可以看到编译成功的java.exe和javac.exe等文件

在Win 11下使用Visual Studio 2019和cygwin编译JBR(Java SDK 17)源码相关推荐

  1. Visual Studio 控制台程序世界杯足球C语言版(附源码)

    Visual Studio 控制台程序世界杯足球C语言版 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 一年一度的世界杯如期而至,相信很多球迷小伙伴们一定不会错过这个难得 ...

  2. PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案

    PaddleOCR--Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案 官方文档 环境配置 Step1: 下载PaddlePaddle C++ 预测库 paddle ...

  3. Visual Studio 2019 v16.10 和 v16.11 Preview 1 现已推出!

    Visual Studio 2019 v16.10有什么新功能? 我们很高兴地宣布Visual Studio 2019 v16.10 GA 和 v16.11 preview 1发布.此版本使我们的主题 ...

  4. Tesseract OCR——Windows 10 + CMake-GUI + Visual Studio 2019下编译和使用解决方案

    基本概念 Tesseract OCR:Tesseract-OCR 引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一.然而,HP不久便决定放弃OCR业务 ...

  5. 使用.NET Core 3.0 预览版,Web API和Visual Studio 2019进行ASP.NET Core Blazor游戏开发

    目录 介绍 使用ASP.NET核心Blazor创建这个奇怪的图像输出应用程序应该知道什么? 背景 先决条件 Visual Studio 2019 .NET Core 3.0 Preview SDK B ...

  6. Visual studio 2019 社区版下载和安装

    Visual studio 分 企业版 ,专业版和 社区版,其中社区版是供开发人员免费使用的,且功能齐全,这里使用Visual Studio 2019 社区版来安装. 1. 下载 vs_communi ...

  7. [翻译] 使用 Visual Studio 2019 来提高每个开发人员的工作效率

    原文: Making every developer more productive with Visual Studio 2019 今天,在 Microsoft Connect(); 2018 的主 ...

  8. 一步一步在 Windows 10 用 visual studio 2019 编译 zmqpp 4.2.0 版

    伸手党可以到 zmqpp库windows编译结果-C++文档类资源-CSDN下载 去下载 zmqpp 是 libzmq 的高级 C++ 封装,不但提供了针对 libzmq C 接口的 C++ 封装,还 ...

  9. 在 Visual Studio 2019 中修改为编码 UTF-8

    最近将代码从ubuntu转到windows下用visual studio 2019编译时遇到编码格式的问题,因为在ubuntu下用visual studio code编辑代码时默认的格式是UTF-8, ...

最新文章

  1. 【Python】12、字典的实现
  2. Mqtt ----心跳机制
  3. 一篇文章搞懂fof好友推荐案例
  4. matlab并联负荷模块,Matlab-SimPowerSystems-Elements模块使用说明
  5. 重定义 不同的基类型_镍及铁镍基耐蚀合金高温合金哈氏合金镍基合金之第一篇概述...
  6. 数据可视化(9)--数据可视化6步法
  7. 百度EasyDL深度学习实战营,免费教你转型AI工程师!
  8. VUE项目启动:You may use special comments to disable some warnings
  9. 数据库备份,及清理备份计划
  10. 前端存储 (2) - sessionStorage ,localStorage
  11. 阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
  12. C#AJAX 文件上传
  13. 武汉晴川学院计科一班软件工程需求分析
  14. 密集预测任务的多任务学习(Multi-Task Learning)研究综述 - 网络结构篇(上)
  15. Zemax学习笔记(12)- 扫描系统实例
  16. python画k线_python画k线,python绘制动态k线及均线
  17. win10右键卡顿原因_win10右键新建特别慢怎么办_解决win10右键新建卡顿的方法
  18. Android安全检测 - Janus签名漏洞
  19. veiw pad 7寸 android4.2,全国首款Android+Win7双系统平板电脑ViewPad 10登场
  20. 众筹网站项目第七天之用户角色分配(1)

热门文章

  1. 自由人——互联网实现了自由人的自由联合,这是一个天翻地覆的时代
  2. 规范TS项目Any类型的使用
  3. php主要技术指标,液晶显示器的主要技术指标不包括什么
  4. 神奇的数字之回文数c语言,数学文化之神奇的数
  5. ai画面怎么调大小_AI中怎么才能把图像等比例扩大或缩小尺寸?
  6. 屏幕录像功能技术探索及分享
  7. AI发现超级抗生素halicin,可杀死多种致病细菌,对人体细胞毒性低
  8. CVE-2022-22916
  9. 细谈八种架构涉及模式及其优缺点概述
  10. 中考英语计算机,中考英语作文模板:计算机 The computer