为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java

本人是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。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.6万
获赞与收藏
380

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消