免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3452 | 回复: 1
打印 上一主题 下一主题

[Linux] linux下C调用jni接口jar包路径如何设置? [复制链接]

论坛徽章:
277
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58CU大牛徽章
日期:2013-05-20 10:44:54CU大牛徽章
日期:2013-05-20 10:45:13CU大牛徽章
日期:2013-05-20 10:45:24CU大牛徽章
日期:2013-05-20 10:45:31金牛座
日期:2013-09-06 22:11:28巨蟹座
日期:2013-09-06 23:01:04射手座
日期:2013-09-06 23:01:45
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-09 17:09 |只看该作者 |倒序浏览
是这样,linux下用C调用hadoop的jni接口,jni有用到很多jar包,编译出来是个C程序,
执行C程序后,就是找不到jar包:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:143)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:18
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
知道这些jar包都在一个目录里面
知道可以在.bash_profile里面设置,例如:
export CLASSPATH=.JAVA_HOME/lib/dt.jarJAVA_HOME/lib/tools.jar:
等,这样就能找到jar包了,但是这样设置必须指定jar包名字,必须把所有jar包名字一个个写上去,而不能用*.jar指定所有jar包,或者用一个目录指定。

java程序是可以指定classpath目录的,但是这种C调用jni接口的就不知道了,有专家知道简单点的方法吗?
不知道应该发在C版呢还是java版还是linux版?
谢谢

论坛徽章:
277
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58CU大牛徽章
日期:2013-05-20 10:44:54CU大牛徽章
日期:2013-05-20 10:45:13CU大牛徽章
日期:2013-05-20 10:45:24CU大牛徽章
日期:2013-05-20 10:45:31金牛座
日期:2013-09-06 22:11:28巨蟹座
日期:2013-09-06 23:01:04射手座
日期:2013-09-06 23:01:45
2 [报告]
发表于 2012-10-10 16:44 |只看该作者
得设置-Djava.ext.dirs=才能指定目录,没地方设置
只好一个个jar包写到claspath里

{:3_183:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP