在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我的ubuntu版本为10.04,使用wubi安装的 1)在ubuntu下安装jdk1.6,安装方法有两种,一种是自动安装,安装完后自动配置好环境变量等,一种是手动安装,下载好jdk,安装好再自己去配置jdk的环境变量,,由于后续的一些操作和手动配置相关,所以本文采用jdk的手动安装。 jdk的自动安装,可以参考此博文,写的很详细:http://chirs1012f.iteye.com/blog/969038 jdk的手动安装,可以参考博文:http://chirs1012f.iteye.com/blog/981114 jdk安装好后,我的jdk安装目录如下: 2)在安装并且配置好jdk环境变量后,开始编写java代码,取名为HelloWorld.java,代码如下:
View Code
1 class HelloWorld { 我的java文件目录如下图所示,目录的位置随便,只要在命令行中与其一致就行: 用javac命令,生成class文件,首先定位到文件所在目录下,如图
如果在执行javac HelloWorld.java命令时没有生成class文件,需要先做如下操作,为了方便,将javah也做了替换, 1:sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.6.0_24/bin/java 300 2:sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk1.6.0_24/bin/javac 300 3:sudo update-alternatives --install /usr/bin/javah javah /usr/lib/java/jdk1.6.0_24/bin/javah 300 4:sudo update-alternatives --config java 需要将前3条中的 /usr/lib/java/jdk1.6.0_24/bin/javac 替换为你自己的jdk安装目录,我的就替换为 /home/zhangjl/jdk1.6.0_24/bin/java /home/zhangjl/jdk1.6.0_24/bin/javac /home/zhangjl/jdk1.6.0_24/bin/javah 之后在执行javac HelloWorld.java,生成class文件。 3)生成头文件:执行 javah -jni HelloWorld,之后如图所示: 如不能生成头文件,可以试试sudo javah -jni HelloWorld 4)编写c文件,文件名为
View Code
#include <jni.h> 5)编译
View Code
gcc -fpic -shared HelloWorld.c -I /home/zhangjl/jdk1.6.0_24/include/ -I /home/zhangjl/jdk1.6.0_24/include/linux/ -o libHelloWorld.so 具体的参数含义可以参考博文: http://wiki.ubuntu.org.cn/index.php?title=Gcchowto&variant=zh-cn http://wiki.ubuntu.org.cn/index.php?title=Compiling_C&variant=zh-cn 6)最后,执行命令,打印出输出语句 java HelloWorld 如果提示找不到类的提示错误,需要配置一下java的运行环境,我修改的是/etc/environment文件, 用vim打开/etc/environment文件,命令为sudo vim /etc/environment,打开后如下: 注意:PATH中的/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games必须保留,否则会导致系统登录不了。 按字母键 i,进入修改模式,在CLASSPATH后添加 :.,将当前目录添加到运行环境中去,编辑完成后,按 Esc键,再按输入:wq,保存退出, 输入以下命令,使其生效:source /etc/environment 再次执行java HelloWorld,报如下错误, 原因是找不到so文件,可以参考第五步骤的博文,使用命令: LD_LIBRARY_PATH=. export LD_LIBRARY_PATH, 再次执行java HelloWorld,即可输出想要的结果! 如有讲的不正确的地方,敬请指出,谢谢!
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论