Win10下编译OpenJDK8 | 您所在的位置:网站首页 › openjdk8下载教程 › Win10下编译OpenJDK8 |
导航目录Win10下编译OpenJDK8相关参考文章编译环境编译前准备1.安装 Visual Studio 2010 Professional2. 准备OpenJDK83. 编译JDK环境安装4. 安装Cygwin5. 准备FreeType-2.7开始编译1.生成编译配置脚本2.编译JDK3.验证编译结果失败问题处理1.提示cygwin太老,但使用的cygwin确实是1.7版本以后的版本2.编译images库时失败
Win10下编译OpenJDK8
踩了无数的坑之后终于成功的在Windows10下编译了OpenJDK8,在Windows下编译JDK确实比较麻烦,所以在这里记录下本人编译的整个过程,可以作为备忘的同时还能分享给他人 相关参考文章文本在编写和实施过程中参考了如下的博文或文章: https://blog.csdn.net/wqlinloveruby/article/details/80409031 https://www.jianshu.com/p/e85f93cc74cb OpenJDK源码目录下的README-builds.html官方文档 编译环境 Windows10专业版64位; 编译前准备Tip: 以下软件的安装和解压目录尽量不要包含中文或空格,不然可能会出现问题 1.安装 Visual Studio 2010 Professional在windows下编译JDK需要使用Visual Studio 2010 Professional 推荐下载地址:https://msdn.itellyou.cn/ 最好下载英文版的IDE,不然可能会出现问题,下载完成后只用勾选安装C++部分就行 2. 准备OpenJDK8首先下载OpenJDK8,推荐下载地址:https://download.java.net/openjdk/jdk8 , 下载完成后解压 3. 编译JDK环境安装编译OpenJDK需要本机先安装上JDK作为编译JDK,而且该编译JDK的版本必须要使用前一个版本的JDK,编译OpenJDK8需要安装JDK7 Update 7 以后的版本。 首先下载Oracle JDK7 并解压,推荐下载地址:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 下载完成后配置JDK环境变量(JAVA_HOME、Path、classpath)
配置完后验证下:
编译JDK需要使用到Unix和Linux上的一些工具软件,Cygwin可以在Windows上运行这些系统上的软件 推荐下载地址:http://www.cygwin.com/ 下载最新版的Cygwin后安装,由于默认的安装只会安装一些必要的软件,所以安装过程中需要选择安装一些额外的包,需要的包如下图:
编译JDK需要用到FreeType,它是一个字体渲染库,官方文档中没有提及,但它是必须的。 最好使用2.7版本的,我先前使用较新版本的会出现问题。 推荐下载地址:https://www.freetype.org/ ,下载完成后解压 运行Visual Studio 2010,依次点击 File -> Open -> Project/Solution
再次右击项目,点击 Properties按钮,弹出窗口。
在 freetype-2.7/ 目录下新建 lib 目录 将 freetype-2.7\objs\vc2010\x64\ 目录下的 freetype.lib 和 freetype.dll 两个文件拷贝到lib目录下 开始编译 1.生成编译配置脚本运行Cygwin,cd 进入OpenJDK8的根目录 Tip :Cygwin中的目录可以直接用Windows的目录标记方式,比如:‘D:\DirName\file.txt’,单必须使用单引号包围,也可以使用类似linux的形式:如: /cygdrive/d/DirName/file.txt,推荐使用后一种方式兼容性较好。 输入如下命令: ./configure --with-freetype=**/freetype-2.7/ --with-target-bits=64 --enable-debug 1注意以上的freetype路径替换成你本机上的路径 运行成功后显示如下:
Cygwin切换到JDK根目录下 执行如下命令 make all 1命令执行后会开始编译,编译过程可能比较久,具体看机器性能
编译成功后显示如下:
在这里仅简单验证一下,官方说需要用jtreg来进行回归测试,但该测试比较麻烦和耗时所以就先忽略
运行 cmd.exe ,进入目录 openjdk8\build\windows-x86_64-normal-server-fastdebug\jdk\bin
依次输入命令:
javac -version
java -version
下面描述了本人在编译过程中遇到过的问题和解决方法,如果你遇见了其他的问题,请参考其他相关博客或资料,同时欢迎在评论区探讨该问题或解决方案 1.提示cygwin太老,但使用的cygwin确实是1.7版本以后的版本提示如下如图:
文本编辑器打开OpenJDK目录下的 openjdk8\common\autoconf\generated-configure.sh 这个文件
搜索上面的提示文字“Your cygwin is too old 执行编译到images相关库的时候会出错
用 Notepad++ 软件打开OpenJDK目录里的 CreateJars.gmk 这个文件
依次点击菜单栏中的:视图 -> 显示符号 -> 显示所有符号
然后就可以看到所有的符号,包括换行符和回车符
找到文件中如下的地方:
|
CopyRight 2018-2019 实验室设备网 版权所有 |