博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Note]matlab中调用java类或运行java
阅读量:4080 次
发布时间:2019-05-25

本文共 2465 字,大约阅读时间需要 8 分钟。

摘要

matlab中可以调用java程序或者自己写的工具类。一般情况下可以直接动态添加java类的class文件。但是对于一些自己编写的有依赖的类,例如一个ExcelUtil类调用了POI的jar包,这样添加起来就十分麻烦,我也没有找到方法添加,并且成功创建类对象==。但是可以直接把自己写的类或者项目导成jar包,把依赖的jar包也添加到matlab中就行了。


下面三个方法需不需要重启matlab我没有过多深究,建议设置完重启一下。我设置完是后重启的,也不尽然,比如……往下看


方法一:添加动态路径

1、matlab中可调用的java类相关的文件(jar包)一般存放在java class path中。在matlab中输入命令:

javaclasspath

可以查看所有的路径。其中路径分静态路径和动态路径。

(静态java路径部分结果)

静态 JAVA 路径    D:\MATLAB 2014a\java\patch                                                           D:\MATLAB 2014a\java\jarext\AnimatedTransitions.jar                                  D:\MATLAB 2014a\java\jarext\ant.jar                                                  D:\MATLAB 2014a\java\jarext\ant-launcher.jar                                         D:\MATLAB 2014a\java\jarext\antlr.jar                                                D:\MATLAB 2014a\java\jarext\felix.jar                                                D:\MATLAB 2014a\java\jarext\scr.jar                                                  D:\MATLAB 2014a\java\jarext\axis2\activation.jar                                     D:\MATLAB 2014a\java\jarext\axis2\axiom-api.jar                                      D:\MATLAB 2014a\java\jarext\axis2\axiom-impl.jar

自己写的类的class文件保存到一个文件夹,然后运行下面的代码,添加动态路径。

javaaddpath('D:\MATLAB 2014a\MyJavaClass\bin')

显示结果(成功):

动态 JAVA 路径    D:\MATLAB 2014a\MyJavaClass\bin

之后就可以创建目标类的实例对象了。

注意!!
但是这个方法是一次性的。如果第二次用就要再次添加路径了!这个方法重启?:-D

方法二:添加静态路径

其实上面的系统路径下有一个文件文件classpath.txt。此文件定义了matlab环境下可以直接引用jar包(静态路径)。一般这个文件的完整路径为:

[matlabroot'\toolbox\local\classpath.txt']

也可以在matlab中直接输入这个命令编辑这个文件。

edit classpath.txt

之后把自己写好类或项目创建而成的jar包和依赖的jar包所在的路径写入文件最后就行。这里的ExcelTool.jar是我自己写的。而下面的5个jar包是调用POI需要的依赖包。要写上包名!

D:\MATLAB 2014a\MyJavaClass\jar\ExcelTool.jarD:\MATLAB 2014a\MyJavaClass\jar\dom4j-1.6.1.jarD:\MATLAB 2014a\MyJavaClass\jar\poi-3.8-20120326.jarD:\MATLAB 2014a\MyJavaClass\jar\poi-ooxml-3.8-20120326.jarD:\MATLAB 2014a\MyJavaClass\jar\poi-ooxml-schemas-3.8-20120326.jarD:\MATLAB 2014a\MyJavaClass\jar\xmlbeans-2.3.0.jar

结果可行,成功创建类对象。这种方法除非删了路径或者jar包,不需要再次添加。

方法三:通过java加载机制,添加jar包到路径

1、把自己写好的类导出成为jar包。

2、matlab中运行下面代码

disp(java.lang.System.getProperty('java.ext.dirs'))

显示结果:

D:\MATLAB 2014a\sys\java\jre\win64\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext

3、把我们的jar包放在第一个路径下,如果有其他依赖的jar包,一并放进来。然后就可以创建java类对象了。

在matlab命令行中输入实例化类的代码:

excelOper=com.excel.util.ExcelOperate;

左下角工作区已经有excelOper对象成功创建。

!!!
这个方法保存到的jar包并不是静态路径。而是通过java的类加载机制,自己不是太懂。(大概查了一下是这样)先记下,写完毕设在仔细研究一下。先记录。
!!!


毕设~~~~ (+_+)

转载地址:http://ftsni.baihongyu.com/

你可能感兴趣的文章
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>
FMS 客户端带宽计算、带宽限制
查看>>
在线视频聊天(客服)系统开发那点事儿
查看>>
SecurityError Error 2148 SWF 不能访问本地资源
查看>>
Flex4的可视化显示对象
查看>>
Flex:自定义滚动条样式/隐藏上下箭头
查看>>
烈焰SWF解密
查看>>
Qt 静态编译后的exe太大, 可以这样压缩.
查看>>
3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
查看>>
乘法逆元
查看>>
STL源码分析----神奇的 list 的 sort 算法实现
查看>>
Linux下用math.h头文件
查看>>
Linux中用st_mode判断文件类型
查看>>
Ubuntu修改host遇到unable to resolve host
查看>>
路由选择算法
查看>>
Objective-C 基础入门(一)
查看>>
Objective-C 基础入门(三) 读写文件与回调
查看>>
C++ STL标准库与泛型编程(一)概述
查看>>
C++ STL标准库与泛型编程(四)Deque、Queue、Stack 深度探索
查看>>
C++ STL标准库 算法
查看>>