前言:MacOS上构建OpenJDK 12。 前言:部分配图取自《深入理解Java虚拟机》(第三版)。 1.1、访问https://hg.openjdk.java.net/jdk/jdk12/ 1.2、点击“browse” 1.3、点击“zip”,即可下载到本地,zip大概180M,解压后大概600M。解压后,我重命名为jdk12 执行命令 将macos升级到最新版 访问Apple Developer,下载 访问huaweicloud,也可下载JDK11。我是用这个下的。记得在bash_profile里配路径。 执行完bash ./configure,可看见目录下自动新增了build文件夹 我网上找资料,试了很多方法,最后,我升级了更新了MacOS,重装了xcode,见2.1.2、方法二。 而后执行 在执行 找到报错的那行代码,注释掉。而后再make clean,再make images。 恭喜,可以开始JVM探索之旅了!目录
OpenJDK12的环境&编译&调试
1、获取OpenJDK源码
2、构建编译环境
2.1、安装XCode和Command Line Tools for Xcode
2.1.1、方法一
xcode-select --install
,如果没有提示如下内容,说明本地没有安装,顺着流程安装就行。
2.1.2、方法二(推荐)
在AppStore里下载2.2、准备一个JDK11
访问adoptopenjdk,可下载OpenJDK11。外网很慢。2.3、安装OpenJDK编译依赖库
brew install freetype
brew install autoconf
brew install ccache
进入源码目录,执行bash ./configure
报错:
error: No xcodebuild tool and no system framework headers found
解决方式:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
问题解决。
bash ./configure
的时候,可能会有安全警告,在系统偏好设置>>安全与隐私>>通用里允许访问jdk11就行了。看到下图,就说明构建编译环境成功了
此时build文件夹3、编译
make images
报错:
* For target hotspot_variant-server_libjvm_gtest_objs_test_symbolTable.o: /Users/mac/Desktop/JavaStudy/jdk12/test/hotspot/gtest/classfile/test_symbolTable.cpp:62:6: error: explicitly assigning value of variable of type 'TempNewSymbol' to itself [-Werror,-Wself-assign-overloaded] s1 = s1; // self assignment ~~ ^ ~~ 1 error generated.
解决方式:
问题解决。
4、用CLion调试
4.1、将OpenJDK12导入CLion
4.2、修改CMakeLists.txt(可跳过不看)
可是我在https://github.com/ojdkbuild/ojdkbuild/tree/master/src看到了jdk11、jdk13、jdk14,就是没看到jdk12
于是我把jdk11和jdk13的CMakeLists.txt进行对比,发现不同之处后,我想过复制jdk13的CMakeLists.txt,然后把版本和路径照葫芦画瓢地修改。奈何,我不知道${OJDKBUILD_DIR}
是代表什么,也不知道${PROJECT_NAME}_INSTALLER_UPDATE_UUID
的值怎么来的。所以我没有修改CMakeLists.txt。讲道理是要修改的,过段时间再看看。4.3、调试
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算