由于工作需要,需在Linux环境下用Java调用matlab,此中遇到诸多问题,现记录下来,以备不日之需
1,安装虚拟机,我用的是vmware workstation 9.10版本,linux版本用到的是CentOS6.0 64位系统,安装开发者界面,这样可以免除安装eclipse的繁琐,但是也有问题,这个后面介绍。
2,安装matlab,此版本我用的是matlab2011b版本,这一切相信大家都会安装比较顺利,不多说啦,最主要也是最要命的要属于系统配置了
3. jdk的安装,在cmd输入“java -version” 后,确实显示了java的相关信息,咨询同事后也说jdk是安装好的,默认安装的是1.6,但是我却找不到那该死的jdk安装的目录,也就没有办法配置JAVA_HOME了,后来不得已从下载了1.6版本的jdk,重新安装,很简单,现在版本是1.7的,为什么没有安装1.7呢,也是之前安装1.7出现了jdk跟eslipse中的不一致,eslipse中的是1.6的,编译出现问题,才安装的1.6安装之后,需要配置一下java_home等相关变量,共三个如下:
[root@test src]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_05
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
之后输入 ". /etc/profile"可以在不重启电脑情况下可以使环境变量生效,上面的目录及版本相应改一下就可以
此时在你的matlab中输入 “getenv JAVA_HOME”应该能得到JAVA_HOME的路径的,这是你就可以编译你的m文件成jar了,办法网上很多,不再熬述。
4,在作了这下工作后,结果还是发现一个问题,如下
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: Failed to find the library libmwmclmcrrt.so.7.15, required by MATLAB Builder JA, on java.library.path.
This library is typically installed along with MATLAB or the MCR, its absence may indicate an issue with that installation or the current path configuration.
The MCR version that this component is trying to use is: 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
export LD_LIBRARY_PATH
export XAPPLRESDIR
LD_LIBRARY_PATH=$LD_PATH:$LD_LIBRARY_PATH
至此,再调试,结果出来了,哈哈,再有什么问题在一个个解决就ok了,祝你好运。