redhat6.3安装完matlab2008a后在目录$MATLAB_HOME/toolbox/compiler/deploy/glnxa64中有MCRInstaller.bin 使用这个安装MCR即matlab运行时,默认安装在/opt/MATLAB/MATLAB_Compiler_Runtime中。至此运行时安装完毕,下面进行配置。
首先说明一点,此次试验只能在终端设置MCR的环境变量,不能在配置文件中进行配置(目前还没有找到方法)。
编写sum_test.m文件:
function [ output_args ] = sum_test( x1,x2 ) %SUM_TEST Summary of this function goes here % Detailed explanation goes here output_args=x1+x2; end
然后使用javabuildJA进行编译打包,得到SumTest.jar包,在$MATLAB/HOME/toolbox/toolbox/javabuilder/jar 中得到javabulider.jar包。
编写java文件:
package fansy; import com.mathworks.toolbox.javabuilder.MWException; import SumTest.SumTestclass; public class TestSumFun { /** * @param args * @throws MWException */ public static void main(String[] args) throws MWException { int a=0; int b=0; if(args.length!=2){ System.err.println("please input two number inputs"); System.exit(-1); } a=Integer.parseInt(args[0]); b=Integer.parseInt(args[1]); SumTestclass st=new SumTestclass(); Object[] result=st.sum_test(1,a,b ); if(result.length<1){ System.err.println("error!"); System.exit(-1); } System.out.println(result[0].toString()); } }
创建目录 java_package 并把上面两个包和java文件拷贝到此包下:
运行: javac -cp javabuilder.jar:SumTest.jar TestSumFun.java 然后编译出错;
添加环境变量:
修改 /etc/passwd 用户的shell 为 csh(本来应该是bash),然后重新使用该用户登录,使用下面的命令:
export LD_LIBRARY_PATH =/opt/MATLAB/MATLAB_Compiler_Runtime/v78/runtime/glnxa64:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/os/glnxa64:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/native_threads:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64/server:/opt/MATLAB/MATLAB_Compiler_Runtime/v78/sys/java/jre/glnxa64/jre1.6.0/lib/amd64 export XAPPLRESDIR =/opt/MATLAB/MATLAB_Compiler_Runtime/v78/X11/app-defaults
可以使用 echo $LD_LIBRARY_PATH进行查看,看是否变量设置成功,然后运行:
javac -cp javabuilder.jar:SumTest.jar TestSumFun.java ,运行ok,且在当前目录下面有 fansy文件夹生成(里面有TestSumFun.class文件),然后运行
jar -cvf fansy.jar fansy
生成fansy.jar包,然后运行:
java -cp javabuilder.jar:SumTest.jar:fansy.jar fansy.TestSumFun 1 2
得到结果:3 ,运行ok,说明程序已经可以运行。
说明:在网上找了很多国外网页进行 LD_LIBRARY_PATH和XAPPLRESDIR的环境变量的永久设置都不可以,目前还没有找到方法。