Main Content

编译 Java 引擎程序

一般要求

要为编译引擎应用程序而设置您的 Java® 环境,需要满足以下要求:

  • matlabroot/extern/engines/java/jar/engine.jar 添加到您的 Java 类路径中。

  • 使用支持的 JDK™ 版本编译引擎应用程序。有关版本信息,请参阅其他语言的 MATLAB 接口

  • 确保您的 JRE™ 版本不早于您的 JDK 版本。

要运行 Java,请将 matlabroot/bin/<arch> 文件夹添加到您的系统环境变量中。<arch> 是您的计算机架构。例如,win64 适用于 64 位 Microsoft® Windows® 机器,macOS 上的 maci64 或 Linux® 上的 glnxa64

matlabroot 是由 MATLAB® matlabroot 命令返回的值。该命令返回安装 MATLAB 的文件夹。

下表列出了环境变量的名称和路径的值。

操作系统变量路径

Windows

PATH

matlabroot\extern\bin\win64

macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maci64

Linux

LD_LIBRARY_PATH

matlabroot/extern/bin/glnxa64:matlabroot/sys/os/glnxa64

Windows 上编译并运行 Java 代码

编译您的 Java 代码:

javac -classpath matlabroot\extern\engines\java\jar\engine.jar MyJavaCode.java

运行 Java 程序:

java -classpath .;matlabroot\extern\engines\java\jar\engine.jar MyJavaCode

设置系统路径

要从 Windows 命令提示符设置运行时库路径,请键入以下命令。

set PATH=matlabroot\bin\win64;%PATH%

每次您打开 Windows 命令处理器时都要设置该路径。

您还可以从“系统属性”对话框中设置 PATH 变量。从控制面板 > 系统 > 高级系统设置 > 高级选项卡上,点击环境变量。在系统变量下,选择 Path 并点击编辑。通过插入 matlabroot\bin\win64 修改 Path;在变量 的开头位置。点击确定关闭对话框,然后关闭控制面板对话框。

macOS 上编译并运行 Java 代码

用于 Java 的 MATLAB 引擎 API 仅支持 macOS 系统上的 maci64

编译 Java 代码:

javac -classpath matlabroot/extern/engines/java/jar/engine.jar MyJavaCode.java

指定 Java 库路径和运行程序

在一条语句中指定 Java 库路径并运行 Java 程序。

java -Djava.library.path=matlabroot/bin/maci64 -classpath .:matlabroot/extern/engines/java/jar/engine.jar MyJavaCode

设置系统变量并运行程序

设置 DYLD_LIBRARY_PATH 变量并运行 Java 程序。例如,使用 C shell:

setenv DYLD_LIBRARY_PATH matlabroot/bin/maci64:$DYLD_LIBRARY_PATH
java -classpath .:matlabroot/extern/engines/java/jar/engine.jar MyJavaCode

从 C shell 设置变量

您可以将这些命令放在一个启动脚本中,如 ~/.cshrc

setenv DYLD_LIBRARY_PATH matlabroot/bin/maci64:$DYLD_LIBRARY_PATH

在 Bourne shell 中设置变量

您可以将这些命令放在一个启动脚本中,如 ~/.profile

DYLD_LIBRARY_PATH=matlabroot/bin/maci64:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH 

使用 Java 1.8.0 版的早期内部版本

在使用 Java 1.8.0 版的早期内部版本(例如 1.8.0_111)时,可能无法识别 DYLD_LIBRARY_PATH 环境变量。如果出现 java.lang.UnsatisfiedLinkError 异常,请显式设置 java.library.path

java -Djava.library.path=matlabroot/bin/maci64 -classpath .:matlabroot/extern/engines/java/jar/engine.jar MyJavaCode

Linux 上编译并运行 Java 代码

用于 MATLAB 的 Java 引擎 API 仅支持 Linux 系统上的 glnxa64

编译 Java 代码:

javac -classpath matlabroot/extern/engines/java/jar/engine.jar MyJavaCode.java

指定 Java 库路径和运行程序

如果兼容的 GCC 库位于搜索路径中,则可以在 Java 库搜索路径中添加 matlabroot/bin/glnxa64 并运行示例,而不必设置 LD_LIBRARY_PATH 变量。有关支持的编译器的信息,请参阅支持和兼容的编译器

在一条语句中指定 Java 库路径并运行 Java 程序。

java -Djava.library.path=matlabroot/bin/glnxa64 -classpath .:matlabroot/extern/engines/java/jar/engine.jar MyJavaCode

设置系统变量并运行程序

设置 LD_LIBRARY_PATH 变量并运行 Java 程序。例如,使用 C shell:

setenv LD_LIBRARY_PATH matlabroot/bin/glnxa64:matlabroot/sys/os/glnxa64:$LD_LIBRARY_PATH
java -classpath .:matlabroot/extern/engines/java/jar/engine.jar MyJavaCode

从 C shell 设置变量

您可以将这些命令放在一个启动脚本中,如 ~/.cshrc

setenv LD_LIBRARY_PATH matlabroot/bin/glnxa64:matlabroot/sys/os/glnxa64:$LD_LIBRARY_PATH

从 Bourne shell 设置变量

您可以将这些命令放在一个启动脚本中,如 ~/.profile

LD_LIBRARY_PATH=matlabroot/bin/glnxa64:matlabroot/sys/os/glnxa64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH 

相关主题