环境
- 操作系统:CentOS 7
- JDK版本:1.8.281
- Matlab Runtime版本:2019a
问题
Java调用Matlab生成的Jar包,出现错误
代码语言:javascript复制com.mathworks.toolbox.javabuilder.MWException: An error occurred while initializing the component.
环境错误
代码语言:javascript复制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应该也是可以的
安装命令
代码语言:javascript复制yum install libXt
安装完成问题解决
后续问题
简单的Matlab生成的Jar包可以正常运行,但是发现生成的Jar包有涉及到深度学习的却依然出现问题,大致意思是再Matlab中写的方法函数:algoMethod 没有定义
代码语言:javascript复制com.mathworks.toolbox.javabuilder.MWException: Undefined function 'algoMethod' for input arguments of type 'uint8'.
后续问题解决办法
这个后续问题的解决是同事对比了正常能运行机器的MatlabRuntime,所有参数、环境都是一样的,介于上一个问题的解决办法,考虑到应该也是系统环境问题,对比发现出问题的机器lib64文件夹中比正常的少了几个文件,由于两台机器系统都是CentOS 7.6,于是把正常那台机器的lib64整个文件夹打包,记得先备份一份,然后上传到出错误问题的机器,先把错误的这台机器lib64也备份一份,然后解压覆盖原有lib64整个文件夹,发现问题解决了~