我正在尝试将JNI本机库加载到Spring Boot应用程序中,当我通过提供-Djava.library.path={path_to_mynativelib}
作为VM参数从eclipse运行它时,加载很好,但是当我尝试使用 docker-组成文件,并提供与JAVA_OPTS: "-Djava.library.path={path_nativelib_inside_docker_container}"
相同的VM参数,运行应用程序后,它抛出未加载即Error loading shared library libgthread-2.0.so.0: No such file or directory
的异常,调试后我发现libgthread-2.0.so.0
在我的计算机中可用主机Linux机器位于路径/usr/lib64/libgthread-2.0.so.0
上,为什么在eclipse中它不会引发任何异常,我如何在docker容器中加载此lib
答案 0 :(得分:0)
确保在您的Docker容器中安装libglib2.0-0
。放到那里后,请确保它在LD_LIBRARY_PATH
上。请注意,您的JNI
库(可能链接到gthread
)必须能够在运行时查看该库。