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);


參考網址:

  1. Matlab調用Java類入門
  2. JDK版本導致Unsupported major.minor version 52.0 error
  3. Eclipse 導出可執行Jar文件(工程)(包含第三方Jar包
  4. MATLAB 類型到 Java 類型的映射
  5. 深入jar包:從jar包中讀取資源文件(轉載)(getResourceAsStream方法)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM