ubuntu18编译openjdk12-jvm之路

1.首先获取源码,通过该网址:https://hg.openjdk.java.net/jdk/jdk12/  点击browse之后便可得到下图,之后点击zip即可,下载即可。

ubuntu18编译openjdk12-jvm之路

 2.下载好源码后,便可以打开虚拟机,将这个源码jdk12....zip文件复制到ubuntu中,有时候ubuntu不允许复制,那么可以通过xftp来连接虚拟机中的系统,然后传递文件即可。当然也可以进行一些操作让ubuntu允许复制。

      总之现在我们的ubuntu系统中已经拥有了该源码jdk压缩包文件,之后将其移动到( mv jdk文件名  /etc/opt) etc/opt文件夹下,当然其他文件夹也行。之后使用 unzip jdk.zip  解压即可。

3.此刻就先不必理会源码文件,先进行一些配置,首先使用:

  sudo apt-get install build-essential  //这个是为了构建基本的环境,通过其便可以编译c语言等还有gdb调试等工具

  之后构建基本的编译jdk的依赖环境,如下图命令:

ubuntu18编译openjdk12-jvm之路

      安装好这些之后,由于之前系统中并未存在jdk环境,而编译jdk12因为其中编写jdk12的语言中不仅有c语言还有java语言,所以想要编译含有java语言的代码,自然还需要一个jdk环境了,而这里选择安装openjdk11,一般情况下选择比想要编译的低一个版本。

       使用:sudo apt-get install openjdk-11-jdk

4. 现在便可以进入到方才源码解压后的位置,

ubuntu18编译openjdk12-jvm之路进入到这个目录下,使用bash --help 便可看到它的一些编译命令的解释,ubuntu18编译openjdk12-jvm之路

      这里使用: bash configure --enable-debug --with-jvm-variants=server

      之后若还有依赖未安装,会给出提示,差什么就安装什么即可。

      然后再使用:bash configure --enable-debug --with-jvm-variants=server

     若成功后便可以有下图,当然我已编译过了,故而会给出警告提示。当然这里注意应该进入到超级管理员root模式。ubuntu18编译openjdk12-jvm之路

      总之当看到Tools Summary便可以进行下一步了。

5.之后直接果断使用 make images

   然后就是一个漫长的等待过程,可能与电脑性能有关吧!反正我编译的时候花了不少时间。若是看到长时间卡在一行,不用担心,敌不动我不动,直接去做别的事就行。让它自己慢慢编译即可。

6.之后待编译成功后,便可以在build文件夹下,进入fastdebug这个文件夹,可以看到 jdk这个文件夹,进入其中的bin文件夹,如下图:使用./java -version 可以看到版本为 12-internal ,而我们之前安装的是openjdk11,所以这就是自己编译的jdk了。

ubuntu18编译openjdk12-jvm之路

 7.我们可以在这里编写一个简单的java程序来测试是否可用,如通过vim 建立一个wordTest.java文件:

ubuntu18编译openjdk12-jvm之路

  之后通过 ./javac worldTest.java 进行编译得到.class文件,之后通过 ./java worldTest执行如下图:

ubuntu18编译openjdk12-jvm之路

 可以看到成功输出了。

8.之后便可以使用这个自己编译的jdk来进行学习调试了。