主要内容

本页采用了机器翻译。点击此处可查看英文原文。

使用 MWArray Data API 部署到 Java 应用程序

R2026b
使用处理数据交换的 MWArray API 将打包的 MATLAB® 函数集成到 Java® 应用程序中

使用 MATLAB Compiler SDK™,将编译的 MATLAB 函数集成到 Java 应用程序中涉及结合使用多个 API 来初始化 MATLAB Runtime,将编译的 MATLAB 函数加载到 MATLAB Runtime 中,以及管理在 Java 和 MATLAB 之间传递的数据。

Java 包和应用程序为大型企业或 Web 环境中的应用程序提供了可移植且可扩展的解决方案。您可以将生成的包部署到安装了 MATLAB Runtime 的企业或 Web 环境中。

Java 远程方法调用 (RMI) 是一组 API,使 Java 对象能够调用不同 Java 虚拟机 (JVM) 中的对象。使用 RMI 可开发客户端-服务器应用程序、分布式应用程序和 Web 应用程序。对于此类应用程序,只有应用程序中直接调用 MATLAB 函数的部分才需要使用 MATLAB Runtime。应用程序中的其他部分可以使用原生 Java 数据类型。

App

Java 包编译器将 MATLAB 程序打包以作为 Java 包进行部署 (自 R2025a 起)

函数

compiler.build.javaPackage为 MATLAB 外部的部署创建 Java 包
compiler.build.JavaPackageOptions用于编译 Java 包的选项
compiler.build.Results编译器编译结果对象
mcrinstaller显示与当前平台对应的 MATLAB Runtime 安装程序的版本和位置信息
mcrversion返回与 MATLAB 版本相匹配的 MATLAB Runtime 版本号

Java API 文档

类

全部展开

com.mathworks.extern.java.MWArray 用于管理 Java 中的数组类型的抽象 MATLAB 基类
com.mathworks.extern.java.MWCellArray 用于管理 Java 元胞数组的 MATLAB 类

数据类型表示

com.mathworks.toolbox.javabuilder.MWArray Java 类可作为所有 MATLAB 数组类型的基础,具有原生数组处理功能
com.mathworks.toolbox.javabuilder.MWCellArray 用于管理 Java 元胞数组的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWCharArray 用于管理 Java 字符数组的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWNumericArray 用于管理 Java 中的数字数组的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWStringArray 用于管理 Java 字符串数组的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWStructArray 用于管理 Java 结构体数组的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWLogicalArray 用于管理 Java 逻辑数组的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWComplexity 用于枚举 Java 数组复杂性属性的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWFunctionHandle 用于表示 Java 中的函数句柄的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWClassID 用于枚举所有 Java 数组类型的 MATLAB 类

MATLAB Runtime 管理

com.mathworks.toolbox.javabuilder.MWApplication 用于初始化和管理 MATLAB Runtime 全局状态的 Java 类
com.mathworks.toolbox.javabuilder.MWMCROption 用于指定 MATLAB Runtime 初始化选项的 Java 类

代码存档(.ctf 文件)管理

com.mathworks.toolbox.javabuilder.MWCtfClassLoaderSource Java 类用于管理来自 MATLAB 中的类加载程序的代码存档(.ctf 文件)源
com.mathworks.toolbox.javabuilder.MWCtfExtractLocation 用于管理 Java 中的代码存档(.ctf 文件)提取位置的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWCtfFileSource 用于处理 Java 中的代码存档(.ctf 文件)文件源的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWCtfSource Java 接口用于与 MATLAB 中的代码存档(.ctf 文件)源进行交互
com.mathworks.toolbox.javabuilder.MWCtfStreamSource 用于管理 Java 中的代码存档(.ctf 文件)流源的 MATLAB 类

其他

com.mathworks.toolbox.javabuilder.Images 用于 MWArrays 中图像数据处理的 Java 实用方法
com.mathworks.toolbox.javabuilder.MWComponentOptions 用于管理 Java 中的组件实例选项的 MATLAB 类
com.mathworks.toolbox.javabuilder.MWJavaObjectRef Java 类来创建一个引用 Java 对象的 MATLAB 数组
com.mathworks.toolbox.javabuilder.MWMatrixRef Java 类用于表示 MATLAB 中的矩阵引用

接口

Interface Disposable 用于释放类使用的原生资源的 Java 接口
Interface MWComponentOption 组件初始化选项的 Java 接口

异常

com.mathworks.toolbox.javabuilder.MWException 用于处理 MATLAB Compiler 生成的工件中的异常的 Java 类

远程处理类

com.mathworks.toolbox.javabuilder.remoting.AbstractMWArrayVisitor<T> 抽象 Java 类为数组类型提供访问者模式
com.mathworks.toolbox.javabuilder.remoting.BasicRemoteFactory 实现 RemoteFactory 接口的 Java 类
com.mathworks.toolbox.javabuilder.remoting.NativeArrayContainer Java 类确保正确处理远程代理中自动创建的数组
com.mathworks.toolbox.javabuilder.remoting.RemoteProxy Java 类用于通过 RMI 动态生成用于本地对象访问的远程代理

接口

Interface DisposeListener 用于监听远程代理对象处置的 Java 接口
Interface MWArrayVisitor<T> 用于定义数组访问者行为的 Java 接口
Interface RemoteFactory 远程代理对象工厂的 Java 接口

主题

要求和重点

创建并与 Java 集成

示例应用

数据管理

部署注意事项

远程方法调用

Java 包故障排除

  • 常见故障消息
    Java 包集成期间常见的错误消息以及可能的解决方法。