如何在Docker容器中提供libgthread-2.0.so.0

时间:2018-10-25 06:54:10

标签: spring-boot docker-compose java-native-interface jnienv

我正在尝试将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

1 个答案:

答案 0 :(得分:0)

确保在您的Docker容器中安装libglib2.0-0。放到那里后,请确保它在LD_LIBRARY_PATH上。请注意,您的JNI库(可能链接到gthread)必须能够在运行时查看该库。