linux 环境下java调用matlab小结 .
由于工作需要,需在linux环境下用java调用matlab,此中遇到诸多问题,现记录下来,以备不日之需
1,安装虚拟机,我用的是vmwareworkstation9.10版本,linux版本用到的是centOS6.064位系统,安装开发者界面,这样可以免除安装eclipse的繁琐,但是也有问题,这个后面介绍。
2,安装matlab,此版本我用的是matlab2011b版本,这一切相信大家都会安装比较顺利,不多说啦,最主要也是最要命的要属于系统配置了
3.jdk的安装,在cmd输入“java-version”后,确实显示了java的相关信息,咨询同事后也说jdk是安装好的,默认安装的是1.6,但是我却找不到那该死的jdk安装的目录,也就没有办法配置JAVA_HOME了,后来不得已从www.sun.com下载了1.6版本的jdk,重新安装,很简单,现在版本是1.7的,为什么没有安装1.7呢,也是之前安装1.7出现了jdk跟eslipse中的不一致,eslipse中的是1.6的,编译出现问题,才安装的1.6安装之后,需要配置一下java_home等相关变量,共三个如下:
[root@testsrc]#vi/etc/profile
exportJAVA_HOME=/usr/java/jdk1.7.0_05
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$PATH:$JAVA_HOME/bin
之后输入"./etc/profile"可以在不重启电脑情况下可以使环境变量生效,上面的目录及版本相应改一下就可以
此时在你的matlab中输入“getenvJAVA_HOME”应该能得到JAVA_HOME的路径的,这是你就可以编译你的m文件成jar了,办法网上很多,不再熬述。
4,在作了这下工作后,结果还是发现一个问题,如下
org.apache.jasper.JasperException:javax.servlet.ServletException:java.lang.UnsatisfiedLinkError:Failedtofindthelibrarylibmwmclmcrrt.so.7.15,requiredbyMATLABBuilderJA,onjava.library.path.
ThislibraryistypicallyinstalledalongwithMATLABortheMCR,itsabsencemayindicateanissuewiththatinstallationorthecurrentpathconfiguration.
TheMCRversionthatthiscomponentistryingtouseis:7.15.
相信很多人都碰到过,者其实是还有一个变量你没有配置好,那就是LD_LIBRARY_PATH和XAPPLRESDIR
加入如下环境变量,路径按照你自己的来改就可以了。
LD_LIBRARY_PATH=/usr/local/MATLAB/R2011b/bin/glnxa64
XAPPLRESDIR=/usr/local/MATLAB/R2011b/X11/app-defaults
LD_PATH=/usr/local/MATLAB/R2011b/runtime/glnxa64
exportLD_LIBRARY_PATH
exportXAPPLRESDIR
LD_LIBRARY_PATH=$LD_PATH:$LD_LIBRARY_PATH