设置 Java 开发环境
要将 MATLAB® 代码集成到 Java® 应用程序中,请先使用 MATLAB 桌面编写您的 MATLAB 代码。然后,使用 MATLAB Compiler SDK™ 生成 Java 包。最后,在您偏好的 Java 开发环境中完成集成过程,例如使用文本编辑器配合 OpenJDK® 命令行工具,或使用您选择的集成开发环境。
安装 JDK 或 JRE
要开发 Java 应用程序,您必须安装正确版本的 Java 开发人员工具包 (JDK)。
如果您既不打包 MATLAB 代码,也不开发 Java 应用程序,则可以安装 Java Runtime 环境 (JRE™) 来运行 Java 应用程序,而无需安装 JDK™。
MATLAB 支持使用 OpenJDK。有关受支持的版本,请参阅按发布版本划分的与 MATLAB 兼容的 OpenJDK 版本。
在 Windows® 上,您可以在安装过程中通过在自定义安装屏幕上选择设置 JAVA_HOME 变量选项,自动设置 JAVA_HOME 环境变量。
请在系统终端中输入以下内容,以验证您的 Java 安装:
java -version设置 JAVA_HOME 环境变量
安装 JDK 或 JRE 后,如果您在安装过程中尚未将系统环境变量 JAVA_HOME 设置为您的 Java 安装文件夹,请将其设置为该文件夹。
根据您的操作系统,请参照下表永久设置
JAVA_HOME。操作系统 过程 Windows 运行
C:\Windows\System32\SystemPropertiesAdvanced.exe并点击环境变量... 按钮。选择系统变量
JAVA_HOME,然后点击编辑...。如果您没有计算机的管理员权限,请选择用户变量
JAVA_HOME而非系统变量。点击新建并将路径添加到您的 Java 安装文件夹中。例如,
C:\Program Files\AdoptOpenJDK\jdk-8.0.282.8-hotspot。点击确定应用更改。
Linux® 在 Bash shell 中,输入以下命令:
echo "export JAVA_HOME=<path_to_Java_install>" >> ~/.bash_profile
source ~/.bash_profile
macOS(Mojave 10.14 或更低版本) 在 Bash shell 中,输入以下命令:
echo "export JAVA_HOME=<path_to_Java_install>" >> ~/.profile
source ~/.profile
macOS(Catalina 10.15 或更高版本) 在 Zsh shell 中,输入以下命令:
echo "export JAVA_HOME=<path_to_Java_install>" >> ~/.zprofile
source ~/.zprofile
如果您正在封装 MATLAB 代码,请确认 MATLAB 读取的是
JAVA_HOME的正确值。在 MATLAB 命令提示符下,键入
getenv("JAVA_HOME")以显示JAVA_HOME的值。
配置 Java 的编译和运行类路径
要配置 Java 的编译和执行类路径,您需要确定计划使用哪种数据 API。有两种选项:一种是 R2026a 版本中引入的现代 MATLAB Data API for Java,另一种是传统的 MWArray API。在类路径中包含哪个 JAR 文件,取决于您打算在应用程序中使用这两组数据 API 中的哪一组。有关详细信息,请参阅 选择 Java 部署选项。
MATLAB Data API for Java
在编译和运行时,请将以下 JAR 文件添加到类路径中:
matlabruntime.jar
如果您的系统上安装了 MATLAB |
|
如果您的系统上安装了 MATLAB Runtime |
|
在使用 MATLAB Data API for Java 时,打包过程结束时不会生成 JAR 文件。相反,系统会创建一个可部署的存档文件(.ctf 文件)。该文件无需放入类路径中。相反,Java 应用程序必须通过将位置作为参量传递给 com.mathworks.runtime.MatlabRuntime 类,以编程方式指定其位置。
例如,您可以像下面这样在编译时指定类路径:
javac -classpath "matlabroot/toolbox/javabuilder/jar/matlabruntime.jar" MyApp.java例如,您可以按以下方式在运行时指定类路径:
java -classpath "matlabroot/toolbox/javabuilder/jar/matlabruntime.jar" MyAppmatlabroot 替换为您 MATLAB 安装目录的完整路径。MWArray API
在编译和运行时,请将以下 JAR 文件添加到类路径中:
javabuilder.jar由 MATLAB Compiler SDK 生成的 JAR 文件
如果您的系统上安装了 MATLAB |
|
如果您的系统上安装了 MATLAB Runtime |
|
在使用 MWArray API 时,MATLAB Compiler SDK 将 MATLAB 代码打包成一个 JAR 文件。此 JAR 文件必须与 javabuilder.jar 一起添加到 Java 应用程序的类路径中。Java 应用程序可以通过引用 JAR 文件中提供的类和方法,来访问打包好的 MATLAB 代码。与 MATLAB Data API for Java 不同,无需通过编程方式指定 .ctf 文件的位置,因为所有必要的 Java 类都已包含在 JAR 文件中。
例如,您可以像下面这样在编译时指定类路径:
javac -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar;.\MyPackagedMatlabCode.jar" MyApp.java例如,您可以按以下方式在运行时指定类路径:
java -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar;.\MyPackagedMatlabCode.jar" MyAppmatlabroot 替换为您 MATLAB 安装目录的完整路径。配置运行时库的本地库访问
要运行使用由 MATLAB Compiler SDK 生成的组件的 Java 应用程序,Java 虚拟机 (JVM) 必须能够定位 MATLAB 或 MATLAB Runtime 中包含的本机库。这些是特定于平台的文件(.dll、.so 或 .dylib),用于加载和执行打包的 MATLAB 代码。
要使这些库可用,请通过修改相应的环境变量来更新操作系统的原生库搜索路径。
| 平台 | 环境变量 |
|---|---|
| Windows | PATH |
| Linux | LD_LIBRARY_PATH |
| macOS | DYLD_LIBRARY_PATH |
有关详细信息,请参阅 设置 MATLAB 库路径以测试已部署的应用程序。
小心
在安装了完整 MATLAB 版本的计算机上测试应用程序时,您可以使用 MATLAB 安装来配置对原生库的访问。
在使用 MATLAB Runtime 的部署场景中,您必须在 MATLAB Runtime 的安装目录中明确指定本机库的位置。这种区分确保了已部署的应用程序能够独立于完整的 MATLAB 安装环境运行。