Matlab如何打包成jar并给java使用
由于期末数字图像课程设计需求,使用matlab码好了函数可是没有界面,所以打算用jsp随便搞一搞,可是这样就要跨语言编程了(说得很高大上其实就是打成jar然后丢到项目lib包里面去),这时就需要打包成jar供,废话少说直入重点。
首先你需要将环境变量该成你matlab版本兼容的jdk,比如我用的是matlab2015,而他需要的是jdk1.7,如果jdk版本不同会导致打包不了(我用1.8的打包不了。。。)。
接着你需要打开你的matlab,并且在控制台输入 deploytool
接着选择第三个Library Complier
进入页面后左上角有个可以选着打包类型的,这里选java package,然后是他右边有个选择函数的,这里用一个简单的计算a+b函数为例(点击左边那个加号可以添加函数),最后要注意的是最下面的有个class name ,这个名字是到时候你在java那边使用这个函数的类名,可以取一个有意义的类名,这里演示而已就直接使用默认的Class1
万事具备后点击右上角绿色的勾勾(Package)
如果jdk版本不一致会导致一下错误
成功的话就会弹出你打包好的文件夹
然后选择中间那个里面的jar文件,将他导入到项目里就可以用了,注意除了导入这个包还要导入Matlab所需要的支持包javabuilder.jar
接下来是简单的使用演示。
import com.mathworks.toolbox.javabuilder.MWException;
import mySum.*;
public class Test {
public static void main(String[] args) {
try {
Class1 myClass1 = new Class1();
Object[] result = myClass1.mySum(1,1,2);
System.out.println(result[0]);
} catch (MWException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里需要注意的是mySum方法第一个参数的意思是输出的参数个数,比如a+b输出一个c,所以就是1,接下来第二个参数开始才是你原函数输入所需要的参数。
以上就是所有内容了,不懂的可以问我。
附带一下参考资料
这个是打包的
https://jingyan.baidu.com/article/adc8151387caeaf723bf732f.html
这个是使用的