linux下java调用matlab程序,linux_java调用windows_matlab程序
0?說明
本文為研究java和matlab的混合編程,進行了詳細的測試和探索,以解決linux環境下java程序調用matlab程序的一個應用。
linux端的環境?:(運行java程序并調用windows環境下的Matlab生成的jar包文件)
l?Linux?ubuntu?3.5.0-17-generic
l?java?version?"1.6.0_45"
l?MCR_R2012a_glnx86_installer.zip
windows端的環境:(調試matlab程序,并使用javabuilder生成供java調用的jar包文件)
l?win7?X86(32位)
l?java?version?"1.6.0_27"
l?matlab?2012a
l?eclipse版本不限
(64位的方法雷同)
1?win7下安裝vm和vmtool
在vm上安裝win7(x86)32位;注意處理器是intel的。(amd處理器需要特殊處理,此處略)
2?win7下安裝matlab
7.14.0.739?(R2012a),需要虛擬光驅。
注意用standalone安裝,可以參考crack路徑下的install提示,安裝完成后需要導入證書
3?Matlab查看需要的jdk版本
>>?version?-java
ans?=Java?1.6.0_17-b04?with?Sun?Microsystems?Inc.?Java?HotSpot(TM)?Client?VM?mixed?mode
4?win7下載和安裝jdk
下載1.6的當前最高版本
配置:
新建?JAVA_HOME????jdk路徑
新建?CLASSPATH?????.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
新建?PATH????%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
在matlab中輸入!javac驗證是否安裝jdk成功
5?Matlab新建helloworld.m文件
function??helloworld
%?clc
info=char(?'MATLAB?hello?world!'?);
disp(info);
在matlab中測試輸入helloworld將會打印出這句話。
6?Matlab新建java?project
可以命令臺輸入?>>?deploytool調出ja
添加class和m等資源,按編譯按鈕,大概需要幾分鐘時間。
7?win7下測試java調用matlab
eclipse新建一個測試工程,導入生成的helloworld.jar和javabuilder.jar(注意系統版本對應)
測試結果如下
8?linux下載和安裝mcr
下載mcr
(這里選擇linux?32位的mcr?X86)
安裝mcr
修改installer_input.txt的字段,打開#開頭的語句,并賦值
destinationFolder=/hadoop/matlab?#????修改安裝路徑
agreeToLicense=yes
fileInstallationKey=38699-60149-36808-21840-05491
licensePath=/home/hadoop/mcr/lic_standalone.dat
outputFile=/home/hadoop/mcr/log/1.log#修改日志路徑
mode=silent
等等
./install?-inputFile?installer_input.txt(如果不行則用root命令進行安裝)
如下提示則安裝成功
(Jun?17,?2013?20:09:03)?Assembling?product?list...
(Jun?17,?2013?20:09:16)?The?destination?folder?/hadoop/matlab?does?not?exist.??Would?you?like?to?create?it?
(Jun?17,?2013?20:09:17)?Installing?Product:?MATLAB?Compiler?Runtime?7.17
(Jun?17,?2013?20:11:12)?Notes:
On?the?target?computer,?append?the?following?to?your?LD_LIBRARY_PATH?environment?variable:
/hadoop/matlab/v717/runtime/glnx86:/hadoop/matlab/v717/bin/glnx86:/hadoop/matlab/v717/sys/os/glnx86:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/native_threads:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/server:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386
Next,?set?the?XAPPLRESDIR?environment?variable?to?the?following?value:
/hadoop/matlab/v717/X11/app-defaults
(Jun?17,?2013?20:11:12)?Exiting?with?status?0
(Jun?17,?2013?20:11:12)?End?-?Successful.
下載和安裝jdk
配置jdk和mcr
>>vi?.profile
export?JAVA_HOME=/hadoop/jdk1.6.0_45
export?JRE_HOME=/hadoop/jdk1.6.0_45/jre
export?CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export?PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#這些是jdk的環境變量
export?LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/hadoop/mcr/bin/glnx86/:/hadoop/matlab/v717/runtime/glnx86:/hadoop/matlab/v717/bin/glnx86:/hadoop/matlab/v717/sys/os/gln
x86:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/native_threads:/hadoop/matlab/v717/sys/java/jre/glnx86/jre/lib/i386/server:/hadoop/matlab/v717/sys/java
/jre/glnx86/jre/lib/i386
export?XAPPLRESDIR=$XAPPLRESDIR:/hadoop/matlab/v717/X11/app-defaults
#后面兩個環境變量是matlab的配置路徑,安裝matlab完成后會自動提示。
其他設置
vi?~/.bashrc
alias?matlab='/usr/local/MATLAB/MATLAB_Compiler_Runtime/v717/bin/matlab'
如果運行matlab命令找不到libc.so.6,則sudo?ln?-s?/lib/i386-linux-gnu/libc-2.15.so?/lib/libc.so.6
如果允許matlab命令報matlab:?No?MATLAB?executable?for?this?machine?architecture.錯,
下載linux?jdk?x86(32位)
9?linux測試java調用matlab
用eclipse?fat-jar對此進行打包后,注意將7中的javabuilder換成javabuilder\ja\glnx86路徑下的jar文件
成功。
到此,java調用matlab程序的整個過程基本敘述結束。
總結
以上是生活随笔為你收集整理的linux下java调用matlab程序,linux_java调用windows_matlab程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux数据库都备份什么,Linux运
- 下一篇: linux备份sqlserver数据库,