在运行时获得Java.lang.unsatisfiedlinkerror
Getting java.lang.UnsatisfiedLinkError at runtime
我正在尝试使用JNI从Java类访问C 方法。我可以编译(无论是在日食还是在命令行中)我的Java类罚款,但是在运行时执行课程时,我得到了:
线程中的例外" main" java.lang.unsatisfiedlinkerror:com.domain.services.callserviceapis.createsession()i 在com.domain.services.callserviceapis.createsession(本机方法) 在com.domain.services.callserviceapis.main(callerviceapis.java:18)
Java代码如下:
package com.domain.services;
public class CallServiceAPIS {
static {
System.loadLibrary("service.client");
}
public native int createSession();
public static void main(String[] args) {
System.out.println(System.getProperty("java.library.path"));
new CallServiceAPIS().createSession();
}
}
我包括了java.library.path的打印输出,只是为了确保它指向C 库的正确位置,并且是。我还尝试在日食环境中设置LD_Library_Path。但都没有工作。
请注意,系统。loadLibrary调用工作正常,因为1)代码编译和2)错误发生在第18行,这是新的callerviceapis调用。
C 代码:
int createSession(const PosServiceInfo info, const SessionArgs& args, Domain::UUID& uuidSession)
{
return int::undefined;
}
有什么想法?
没关系。我意识到我正在错误地使用JNI接口。我认为您可以使用现有的C 源加载现有的C 库。但是您基本上必须重写现有代码以使用JNI接口。
相关文章:
- D-lang being faster than C++?
- java.lang.IndexOutOfBoundsException with JNA
- Android Studio 3.1.2 - 无法运行C++子例程"No implementation found for Java.lang.String..."
- java.lang.UnsatisfiedLinkError: Abc.greetings()V
- java.lang.Field 等效于 c++ 中
- 为什么日食总是发生错误"An internal error occurred during: "通知选择侦听器". java.lang.StackOverflowError"
- 新闻组 comp.lang.c++.moderated 死了吗?
- java.lang.UnsatisfiedLinkError:未找到实现
- JNI GetMethodID 调用,带有挂起的异常 java.lang.ClassNotFoundException
- java.lang.UnsatisfiedLinkError: dlopen failed: 无法加载"libPrivateSsl.so"所需的库"libcrypto.so.1.0.0";
- 单元测试环境中的"java.lang.UnsatisfiedLinkError: *.so: Can't find dependent libraries"
- JNI 代码返回字符串,但得到错误 java.lang.UnsatisfiedLinkError: com.packag
- 如何在没有System32的情况下解决"java.lang.UnsatisfiedLinkError:找不到依
- C++ Prog Lang 书第 139 页,例如
- JNA从DLL调用C++对象-java.lang.IollegalArgumentException:Structure
- 线程中的异常 "main" java.lang.UnsatisfiedLinkError: no JNTIest in java.library.path
- jni java.lang.unsatisfiedlinkerror,无法链接方法
- 从WordCount Hadoop示例调用Helloworld Jni函数,给出错误Java.lang.unsatisf
- 在hadoop 2.7.4的自定义排序类中调用C函数,给出Java.lang.unsatisfiedlinkerror
- 在运行时获得Java.lang.unsatisfiedlinkerror