继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

从零开始搭建openjdk8编译调试环境

xpbob
关注TA
已关注
手记 152
粉丝 1.6万
获赞 380

本人是mac,升级到了10.15。导致xcode9等无法安装,找了很多方式都没解决openjdk8编译。所以直接放弃了这种兼容方式,直接使用合适的系统来做合适的事情,减少花费在环境上的时间。

系统选择

我选择是ubuntu16.06。 这个系统主要只是缺失一些库,其他的都是符合编译环境的。

环境准备

  • 安装缺失的库。
sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libasound2-dev
sudo apt-get install libfontconfig1-dev
  • Mercurial安装
    这里不要用apt-get安装,那个Mercurial版本有点低,去官网下载,然后配置环境变量
  • jdk安装
    编译jdk用的,因为只是需要编译,这里方便选择了openjdk。下载oracle 8还需要登录账户。
sudo apt-get install openjdk-8-jdk

源码下载以及编译

源码下载参考openjdk官网,我选择的dev分支。

hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/ YourOpenJDK 
cd YourOpenJDK 
bash ./get_source.sh

这个clone可能会中断,多尝试几次,如果不行,我们可以选择从git上下载,只不过可能和最新的有点区别。这个按照自己的需求来。
我们编译一个debug版本

bash ./configure --disable-zip-debug-info --with-debug-level=slowdebug
make all

如果选择的是ubuntu16.06。这里应该是非常顺畅。

ide配置

ide我选择了netbeans,他支持c/c++,也支持java,关键是openjdk里有netbeans的工程文件。选择只有netbeans8和netbeans9。以上版本就不要选择了,9以上java项目的插件有问题,支持力度不好,识别不出工程来。
选择netbeans8的时候直接选择all的版本安装。
选择netbeans9需要单独安装插件。下面以9为例。
tools->plugins->settings增加插件源
图片描述

url填写

http://updates.netbeans.org/netbeans/updates/8.2/uc/final/distribution/catalog.xml.gz

在available plugins中点击,check for newest
图片描述

我们就可以看到c/c++插件。

导入工程

file-> open project
图片描述
选择如上文件,就可以导入工程。但是会提示和c/c++关联。我们现在就可以查看c部分的代码了。
图片描述
然后导入上图的world,就可以查看java的代码了。
可以实现jni的方法的无缝跳转。

debug hotspot

图片描述
选择我们的build result
在debug的选项中,选择我们debug的命令
填写

${OUTPUT_PATH} -version

这里大家就明白了,这里是我们java执行的参数和命令,可以写-cp等等。
我们打断点到想要的地方,例如入口main.c
然后直接点击netbeans的debug project。选择的是openjdk而不是world。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP