[Note]matlab中调用java类或运行java

摘要

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.jar
D:\MATLAB 2014a\MyJavaClass\jar\dom4j-1.6.1.jar
D:\MATLAB 2014a\MyJavaClass\jar\poi-3.8-20120326.jar
D:\MATLAB 2014a\MyJavaClass\jar\poi-ooxml-3.8-20120326.jar
D:\MATLAB 2014a\MyJavaClass\jar\poi-ooxml-schemas-3.8-20120326.jar
D:\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的类加载机制,自己不是太懂。(大概查了一下是这样)先记下,写完毕设在仔细研究一下。先记录。
!!!


毕设~~~~ (+_+)

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值