java - java.lang.UnsatisfiedLinkError chilkat 库
问题描述
我确信我可以加载 libchilkat.jnilib 文件。当我将正确路径更改为错误路径时,更改错误无法加载库。所以我确信我的图书馆已经加载了。(我使用 try 和 catch 并正确传递。)上传这个库工作。在那之后,当我想使用这个库部分时,比如:CkGlobal glob = new CkGlobal();
我收到了这个错误:
java.lang.UnsatisfiedLinkError: 嵌套异常是 java.lang.UnsatisfiedLinkError: com.chilkatsoft.chilkatJNI.swig_module_init()V] 根本原因是 com.chilkatsoft.chilkatJNI.swig_module_init()V
我搜索但没有找到。此错误类似于java.lang.UnsatisfiedLinkError
:但不同,因为其他java.lang.UnsatisfiedLinkError include 'Native code library failed to load.'
我确定我的图书馆已加载。
如果我运行我的项目 'mvn exec:java' 来处理这段代码。一切都很好,但我想在 GC 上使用 nohup 运行我的代码。
解决方案
和
import com.chilkatsoft.CkGlobal;
public class Simple {
String PATH_TO_LIB="/full/path/to/lib";
static {
System.load(PATH_TO_LIB + "/libchilkat.so");
}
public static void main(String argv[]) {
CkGlobal glob = new CkGlobal();
}
}
和这样的编译:
> javac -cp ./chilkat.jar Simple.java
> java -cp .:./chilkat.jar Simple
> nohup java -cp .:chilkat.jar Simple
它按预期工作。我建议看看 Maven 执行的确切命令 - 放在-X
你的目标之前。
推荐阅读
- java - 我的 Android 应用程序搜索位置的时间过长,但最终没有显示
- html - 角度 7 中的引导程序 4 布局
- laravel - Laravel:“$ php artisan route:list”不显示 App\Http\Controllers\API 中的路由列表
- c++ - C++内存泄漏动态分配的二维数组和链表
- html - 如何响应网站阻止的功能?
- http - Flutter http 客户端给出 FormatException: Unexpected character (at character 1)
- reactjs - antd V4中Form.List下如何设置多个FormItem
- python - Docker 文件路径格式 - 如何从 docker 中的路径访问文件?
- python - 如何从 Windows 路径读取 CSV 文件?
- c++ - 我的 C++ 素数标识符和素因子查找器有一个错误