Faced with error: nested exception is java.lang.UnsatisfiedLinkError when run java application as service in CentOs
Faced with error: nested exception is java.lang.UnsatisfiedLinkError when run java application as service in CentOs
我有一个 spring-boot web 应用程序,今天我将它部署到 Linux 系统。我的应用程序使用 HSM 设备,因此它使用名为 jcryptoki
的库来处理它。
我的服务已部署并且 运行 很好,但不幸的是,我在执行业务功能时遇到以下错误:
nested exception is java.lang.UnsatisfiedLinkError: no jcryptoki in java.library.path
here是我创建服务时参考的文档。
当我通过 运行 命令 java -jar ...
运行 这个应用正常运行时,它运行良好。
我发现缺少 lib 路径声明 $LD_LIBRARY_PATH 时会发生同样的错误。可能运行ning application as a service时,系统找不到这个lib路径。
我 运行 两种情况都是 root 帐户,我是否丢失了任何配置或权限?
终于找到了服务定义文件中缺少环境声明变量引起的问题。
使用特定的声明变量:LD_LIBRARY_PATH=LD_LIBRARY_PATH=/opt/safenet/protecttoolkit5/cpsdk/lib/linux-x86_64/
我添加名为 imported_inv(位于 etc/default)的新文件,其内容如上。在服务定义文件中,我声明了这样的附加信息
重新加载服务,然后一切正常。
我有一个 spring-boot web 应用程序,今天我将它部署到 Linux 系统。我的应用程序使用 HSM 设备,因此它使用名为 jcryptoki
的库来处理它。
我的服务已部署并且 运行 很好,但不幸的是,我在执行业务功能时遇到以下错误:
nested exception is java.lang.UnsatisfiedLinkError: no jcryptoki in java.library.path
here是我创建服务时参考的文档。
当我通过 运行 命令 java -jar ...
运行 这个应用正常运行时,它运行良好。
我发现缺少 lib 路径声明 $LD_LIBRARY_PATH 时会发生同样的错误。可能运行ning application as a service时,系统找不到这个lib路径。
我 运行 两种情况都是 root 帐户,我是否丢失了任何配置或权限?
终于找到了服务定义文件中缺少环境声明变量引起的问题。
使用特定的声明变量:LD_LIBRARY_PATH=LD_LIBRARY_PATH=/opt/safenet/protecttoolkit5/cpsdk/lib/linux-x86_64/
我添加名为 imported_inv(位于 etc/default)的新文件,其内容如上。在服务定义文件中,我声明了这样的附加信息
重新加载服务,然后一切正常。