linux下java调用matlab
2014年08月08日
编程
项目需要迁移到linux环境,准确的说是redhat系统,所以最近研究在redhat下java调用matlab的解决方法,期间遇到了各种问题,卡了好长时间,现在终于解决了。
Redhat下matlab安装
首先需要在redhat下安装matlab,我redhat是搭在虚拟机里的,大家也可以在虚拟机里搭建练手,可以保存快照,很方便回退。
这里不详细介绍安装过程,只提一些重点内容。
- 安装时提示是否在线安装选否(询问是英文的)
- 报错:error while loading shared libraries:
libXp.so.6
: cannot open shared object file: No such file or directory时,将安装文件中/update/bin/glnx86目录下的libmwins.so文件复制到/usr/lib/下,命名为libXp.so.6
安装就这两个需要注意的地方,下面是调用
java调用matlab
matlab导出jar包这里就不提了,大家可以自己搜索。这里主要讲述过程中遇到的困难及解决办法
- 提示
MCR版本不对
,这个报错很奇怪,明明一个matlab导出的,用的就是它的MCR,居然提示不对,解决方法就是配置环境变量LD_LIBRARY_PATH,XAPPLRESDIR
LD_LIBRARY_PATH=/usr/local/MATLAB/bin/glnxa64
XAPPLRESDIR=/usr/local/MATLAB/X11/app-defaults
LD_PATH=/usr/local/MATLAB/runtime/glnxa64
将'/usr/local/MATLAB/'
换成自己的安装目录,如果还有问题,在eclipse里面配置运行的环境变量,方法是右键项目,选择Run As
下Run Configurations
,点击Environment
选项卡,新建上面两个环境变量。
- 报错
Exception in thread "main" java.lang.LinkageError:/usr/lib/libXp.so.6:undefined symbol :SSL_connect
,这里是缺少文件,解决方法是:
mounts /dev/cdrom /media (挂载盘)
cd /media && ls (查看是否挂载成功)
vim /etc/yum.repos.d/rhel-debuginfo.repo 打开该文件
*****该文件中前两行不需要改,从baseurl开始修改成下文所示的值
[xxxx]
name=xxxx
baseurl=file:///media/Server
enable=1 (这里一定是1,启动服务)
gpgchek=0 (这里一定是0,否则下面不能安装)
保存该文件,执行下面操作就ok
yum -y install *linbXp* (安装需要的包)
rpm -qa libXp (查看是否安装成功)
然后就可以java调用matlab了。
友情提示:
上面对rhel-debuginfo.repo文件操作有什么影响不清楚,可以先备份一下供以后还原