第一步:定位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);

参考网址:

  1. Matlab调用Java类入门
  2. JDK版本导致Unsupported major.minor version 52.0 error
  3. Eclipse 导出可执行Jar文件(工程)(包含第三方Jar包
  4. MATLAB 类型到 Java 类型的映射
  5. 深入jar包:从jar包中读取资源文件(转载)(getResourceAsStream方法)

Matlab调用Java类的更多相关文章

  1. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  2. 规则引擎集成接口(七)规则引擎调用Java类

    规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...

  3. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  4. C#调用Java类

    C#调用Java类 (2011-01-07 14:02:05) 转载▼   分类: Java学习  1. 在Eclipse中新建名称为hello的java project,此工程仅包含一个文件hell ...

  5. php调用java类文件

    最近在折腾php调用java类,网上查阅资料,最终选用JavaBridge,遇到的第一个问题是java_require() 函数引入自定义java打包而成的jar文件,在新版本的JavaBridge中 ...

  6. kettle中调用java类

    kettle中调用java类 有时须要在kettle调用java类,如:验证.查询或自己定义加密等.有时甚至连主要的数据訪问都不那么简单,如获取一个存储文件或使用一个数据库连接,某些数据源可能封装在应 ...

  7. Flex与Java交互(Flex调用java类展示数据)解析xml展示数据

    Flex与java通信最简单例子(详细说明了各种需要注意的配置):http://blog.csdn.net/u010011052/article/details/9116869 Flex与java通信 ...

  8. thymeleaf模板引擎调用java类中的方法(附源码)

    前言 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去解决 ...

  9. Jsp中如何通过Jsp调用Java类中的方法

    Jsp中如何通过Jsp调用Java类中的方法 1.新建一个项目,在src文件夹下添加一个包:如:cn.tianaoweb.com; 2.再在包中添加一个类:如 package com; public ...

随机推荐

  1. Docker之进入容器(三)

    1.简介 经过前面两篇博客的扫盲,大家多多少少对docker有了一个基本的了解,也接触了docker的常用命令.在这篇博客中,我将介绍进入docker容器的几种方式. 2.进入docker中的几种方式 ...

  2. 批处理基础知识-IF

    本文主要介绍批处理IF命令的使用. IF命令格式: if /i string=string command 释义:判断2个字符串是否相等,但不区分大小写. 例: 代码: @echo off if /i ...

  3. bootatrsp datetimepicker的初始化和阻止模态窗关闭(事件冒泡)

    1.github下载资源包  http://www.bootcss.com/p/bootstrap-datetimepicker/ 2.引入bootstrap-datetimepicker.min.c ...

  4. 多线程——multiprocess

    先看个误打误撞的写的代码 import os import time import multiprocessing def func(): print('我是func函数1','现在的father进程 ...

  5. 网络流之P3254 圆桌问题

    题目描述 假设有来自m 个不同单位的代表参加一次国际会议.每个单位的代表数分别为ri (i =1,2,……,m). 会议餐厅共有n 张餐桌,每张餐桌可容纳ci (i =1,2,……,n)个代表就餐. ...

  6. 18 python 初学(time、random 模块)

    # _author: lily # _date: 2019/1/13 import time import datetime print(help(time)) # print(time.time() ...

  7. warn_alloc():page allocation failure问题分析

    关键词:warn_alloc().__GFP_XXX.order.CMA等等. 在内存申请的时候经常会遇到类似“ xxx: page allocation failure: order:10...”类 ...

  8. 09-JavaScript之伪数组arguments

    JavaScript之伪数组arguments arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. 1.返回函数实参的个数 使用argument.length方法返回 ...

  9. HBase操作命令总结

    1,如何运行HBase 1,如何查找hbase的安装目录 whereis用来查找程序的安装目录.帮助文档等等,如下: whereis hbase 结果如下,目录下一级包含bin的就是hbase的安装目 ...

  10. 【转】Python爬虫:抓取新浪新闻数据

    案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSou ...