將 MATLAB 演算法封裝為 Java 可呼叫的元件,是企業級專案常見的跨語言整合需求。本文以 MATLAB Builder JA(現已整合入 MATLAB Compiler SDK)為核心,完整記錄從環境準備、專案建立、元件打包、到無 MATLAB 環境機器部署 MCR 的全流程,並分享 AMD CPU 相容性問題的解決方案。
JAVA_HOME 必須正確設定,MATLAB 內執行 getenv('JAVA_HOME') 驗證。BLAS_VERSION 指向 matlabroot\bin\win32\atlas_Athlon.dll。deploytool,選擇 MATLAB Builder JA,新建專案 magicsquare。matlabroot/toolbox/javabuilder/Examples/MagicSquareExample 複製至工作目錄(如 D:/javabuilder_examples/magic_square,路徑勿含空白)。makesqr(5) 驗證 M-code 正確性。makesqr.m 拖入專案的 magic 封裝資料夾;右鍵將類別資料夾重新命名為 class(預設用專案名,易混淆)。src/(Java 原始碼)與 distrib/(magicsquare.jar)。magicsquare.jar 與 matlabroot/toolbox/javabuilder/jar/javabuilder.jar。MagicDemoJavaApp/getmagic.java 到專案並執行。目標機器無需安裝完整 MATLAB,只需執行 MCR 安裝程式:
matlabroot/toolbox/compiler/deploy/win32/MCRInstaller.exe(依版本路徑略有不同)。
安裝完成後,Java 程式即可透過 MCR 執行 MATLAB 編譯元件。
class,否則產出的 package 結構不符預期。BLAS_VERSION 環境變數可解決閃退;Intel CPU 通常無此問題。Version mismatch。MATLAB Builder JA 讓演算法工程師專注於 .m 檔開發,Java 工程師只需引用 JAR 即可呼叫,實現語言邊界的無縫銜接。掌握「專案建立 → 打包 → MCR 部署」三步驟,並留意硬體相容性與版本對應,即可穩定落地生產環境。