日期:2014-05-18  浏览次数:20710 次

(急)关于java.library.path的问题,在线等
现在做一个项目,要调用.so库文件中的程序,遇到了问题。然后写了个main控制台程序测试,用eclipse编译好了后在命令行下运行
java -Djava.library.path=/home/so/ MainTest
这样可以执行成功,
但是如果把 -Djava.library.path=/home/so/ 这块的内容用 
System.setProperty("java.library.path", "/home/so/"); 代替写在程序中的时候就不能正常运行
报异常:java.lang.UnsatisfiedLinkError: no bd_jni in java.library.path
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
  at java.lang.Runtime.loadLibrary0(Runtime.java:823)
  at java.lang.System.loadLibrary(System.java:1030)
  at com.banding.jni.<clinit>(jni.java:30)
  at com.banding.web.net.CodeBuilder.createTCPBytes(CodeBuilder.java:116)
  at com.banding.web.net.tcpLibrary.AuthenticateStream.ValidateUser(AuthenticateStream.java:81)
  at TestAuthenticateStream.validateUser(MainTest.java:50)
  at MainTest.main(MainTest.java:139)


我用System.getProperty("java.library.path");也可以获得值"/home/so/",
用System.setProperty写在程序中和在命令行下 -D设置有什么不同吗?
我要的是在程序中设置 java.library.path 求解决方案,在线等

------解决方案--------------------