[求救]java.library.path 问题(已解决)

C、C++和Java语言
回复
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林
送出感谢: 0
接收感谢: 2 次

[求救]java.library.path 问题(已解决)

#1

帖子 tipfoo » 2007-12-20 19:54

写了个Java调用C++的小程序。使用同样的安装步骤,同样的Java环境,
在Ubuntu 7.04下运行得好好的程序!放在CentOS4下就出错。

代码: 全选

Cannot load F1IPLocator library:
 java.lang.UnsatisfiedLinkError: no f1iplocator in java.library.path

libf1iplocator.so文件已放在/usr/lib和/usr/lib64下都试过,就是找不到。
上次由 tipfoo 在 2007-12-20 20:32,总共编辑 1 次。
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林
送出感谢: 0
接收感谢: 2 次

#2

帖子 tipfoo » 2007-12-20 20:25

java找不到共享库文件(*.so),解决了:

1。在启动脚本的命令中加入设置:

代码: 全选

 -Djava.library.path=/usr/lib64

不知它会不会加载过多没用到的库,所以没有使用。下面的方法就是麻烦一点。


2。放到Java默认的目录中

写个测试程序找出路径

代码: 全选

# vi Test.java 

代码: 全选

class Test
{
        public static void main(String []args)
        {
                System.getProperties().list(System.out);
        }
}
编译,并运行程序来显示路径:

代码: 全选

# javac Test.java 
# java Test|grep java.library.path
java.library.path=/usr/lib/jvm/jdk1.6.0_03/jre/lib/amd6...
将文件放到其中就好了:

代码: 全选

# mv /usr/lib64/libf1iplocator.so* /usr/lib/jvm/jdk1.6.0_03/jre/lib/amd64/
回复

回到 “C/C++/Java”