环境

  • 操作系统:CentOS 7
  • JDK版本:1.8.281
  • Matlab Runtime版本:2019a

问题

Java调用Matlab生成的Jar包,出现错误

com.mathworks.toolbox.javabuilder.MWException: An error occurred while initializing the component.

环境错误

Bundle#11 start filed: libXt.so.6: cannot open shared object file: No such file or directory

具体下图

解决办法

如果你的同样出现了上面说的:环境错误,出现关键字:libXt.so.6,搜索同一台正常能正常运行的机器,发现有这个文件,而这台出问题的却没有,说明缺少这类文件,于是去搜资源,推荐一个网站:https://pkgs.org 选择安装方式,Centos推荐yum方式安装,Ubuntu的apt应该也是可以的 安装命令

yum install libXt

安装完成问题解决

后续问题

简单的Matlab生成的Jar包可以正常运行,但是发现生成的Jar包有涉及到深度学习的却依然出现问题,大致意思是再Matlab中写的方法函数:algoMethod 没有定义

com.mathworks.toolbox.javabuilder.MWException: Undefined function 'algoMethod' for input arguments of type 'uint8'.

后续问题解决办法

这个后续问题的解决是同事对比了正常能运行机器的MatlabRuntime,所有参数、环境都是一样的,介于上一个问题的解决办法,考虑到应该也是系统环境问题,对比发现出问题的机器lib64文件夹中比正常的少了几个文件,由于两台机器系统都是CentOS 7.6,于是把正常那台机器的lib64整个文件夹打包,记得先备份一份,然后上传到出错误问题的机器,先把错误的这台机器lib64也备份一份,然后解压覆盖原有lib64整个文件夹,发现问题解决了~