Matlab调用Java类
第一步:定位Matlab中Java环境的ext目录
新建一个M script文件,或者直接在Matlab的交互式命令行中输入:
>> disp(java.lang.System.getProperty('java.ext.dirs'));
F:\install\MATLAB\R2017a\sys\java\jre\win64\jre\lib\ext
第二步:将需要的java文件打包放入到ext目录中(任何一个都行)
matlab version java 根据这个调整java项目的jdk
eclipse打包时 设定compier很关键,要不然之后会出现错误:Unsupported major.minor version 51.0(JDK版本问题)
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
右击项目 ---export
点击Browse选择jar包生成路径;并且可以自定义jar包名称。
测试jar包是否正确
打开cmd 转到jar包的磁盘下
输入:java(空格)-jar(空格)jar的路径(jar包的全称)
例如:java -jar C:\Users\Administrator\Desktop\XXX.jar
放入到ext目录中
第三步:重启Matlab(很重要)
第四步:编写M文件,调用java类
新建一个脚本文件,或者直接在Matlab的交互式命令行中输入: (包名+类名)
>> h = com.h.test.Hello;
>> h.sayHello();
Hello
注意:遇到的问题
1. 从jar包中读取资源文件
myproject
|___src
|___com.util
|__xx.xls
|__xx.java
xx.java中应该这么写
public static String filePath= "xx.xls";
InputStream inStream=this.getClass().getResourceAsStream(filePath);
System.out.println(filePath);
workBook = WorkbookFactory.create(inStream);
sheet = workBook.getSheet(sheetName);