现在在window也可以很轻松的编译OpenJDK8了。
a、openjdk8:需要编译的。
b、Cygwin:编译JDK需要使用Linux上面的一些工具软件,Cygwin是一个在Window上运行这些软件的工具。
c、Visual Studio 2010 Professional:不必说,编译JDK的工具。
d、freetype:OpendJDK中swing和JConsole要使用freetype的字体渲染功能,这里是直接编译好的。
GitHub项目ubawurinna/freetype-windows-binaries.安装编译环境a、解压openjdkb、安装Visual Studio 2010 Professional一路傻瓜式安装,没有特别配置。
c、安装cygwin:傻瓜式安装,可以选择安装地址。
不知道为什么这一步我的没有,不管网上找了一个加上去,添加如图地址:然后在下一步有一个选择packages,要选择一些安装包在的openjdk里面有一个html文件:README-builds.html,打开能找到要的包,根据package这一列去搜索,再根据描述去判断,找到后选择版本,然后在后面一栏勾上就可以了。
如下图开始编译编译也很简单,就两步:配置和编译。
不过配置和编译都是在cygwin里面进行的。
在配置和编译过程中似乎必然会出现两个异常,可以提前解决,解决方案看第4步内容a、配置打开cygwin,首先window的所以目录都是挂载在/cygdirve目录下的,所以进入进入jdk根目录命令是"cd /cygdirve/d/tools/openjdk"。
然后执行配置命令"./configure --with-freetype=/cygdrive/d/tools/freetype --with-target-bits=64 --enable-debug"。
具体如下图:配置完成如下图:b、编译配置完成后直接运行命令"make",出现异常解决后"make clean"后在执行"make"。
,"make dist-clean"命令可以清除配置。
完成如下图:c、验证进入文件夹"D:\tools\openjdk\build\windows-x86_64-normal-server-fastdebug\jdk\bin",执行命令"jac -version"、"ja -version"验证。
第一个配置期异常,在执行了命令"bash ./configure --with-freetype=/cygdrive/e/freetype --with-target-bits=64"后一般都会有版本太老的问题,如下如图:这个问题只是openjdk限制了cygwin的版本,cygwin新版本是完全兼容老版本的。
然后注释其中7217到7255行,如下图:第二个编译期异常如下图:这是由于cvtres.exe版本错误导致的结果。
因为我们安装的Visual Studio 2010 Professional下面也有两个,我们C盘下也有。
修改的两个文件:D:\tools\Microsoft Visual Studio 10.0\VC\bin\cvtres.exeD:\tools\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe把他们的名称改成cvtres.exe.bak就可以了。
在C:\Windows\Microsoft.NET\Framework\v4.0.30319下面的cvtres.exe就可以被使用了。