生成 Java 包并编译 Java 应用程序
支持的平台:Windows®、Linux®、Mac
此示例说明如何从 MATLAB® 函数创建 Java® 包,然后将该包集成到使用 MATLAB Compiler SDK™ 生成的 Java 应用程序中。
前提条件
验证您所安装的 Java 版本是否与 MATLAB Compiler SDK 兼容。有关受支持的 Java 版本的信息,请参阅 MATLAB 支持的其他语言接口。
有关在安装后配置开发环境的信息,请参阅配置用于生成 Java 包的环境。
最终用户必须安装 MATLAB Runtime 才能运行应用程序。有关详细信息,请参阅下载并安装 MATLAB Runtime。
出于测试目的,您可以使用安装的 MATLAB 来代替 MATLAB Runtime。
在 MATLAB 中创建函数
在 MATLAB 中,检查您想要打包的 MATLAB 代码。对于此示例,创建一个名为 makesqr.m 的函数,其中包含以下代码。
function y = makesqr(x)
y = magic(x);在 MATLAB 命令提示符下,输入 makesqr(5)。
输出是一个 5×5 矩阵。
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9使用 compiler.build.javaPackage 创建 Java 包
使用编程方法编译 Java 包。或者,如果您想使用图形界面创建 Java 包,请参阅使用 Java 包编译器应用程序和 mwArray API 创建 Java 包。
创建调用您的函数的 MATLAB 示例脚本。将以下代码保存在名为
makesqrSample1.m的示例文件中。% Sample script to demonstrate execution of function y = makesqr(x) x = 5; y = makesqr(x);在打包过程中,MATLAB Compiler SDK 会使用该示例 MATLAB 脚本生成目标语言的示例应用程序。有关详细信息,请参阅创建示例代码来调用导出函数。
使用
compiler.build.javaPackage函数和您先前创建的makesqr.m文件编译 Java 包。使用名称-值参量添加示例文件并启用详尽输出。buildResults = compiler.build.javaPackage('makesqr.m', ... 'SampleGenerationFiles','makesqrSample1.m', ... 'Verbose','on');
您可以使用名称-值参量在
compiler.build命令中指定其他选项。有关详细信息,请参阅compiler.build.javaPackage。compiler.build.Results对象buildResults包含有关编译类型、生成的文件、包含的支持包和编译选项的信息。该构建函数会在当前工作目录下的一个名为
makesqrjavaPackage的文件夹中生成文件。有关生成的文件的信息,请参阅打包 MATLAB 函数后生成的文件。注意
生成的包不包含 MATLAB Runtime 或安装程序。要使用
buildResults对象创建安装程序,请参阅compiler.package.installer。
编译和运行 MATLAB 生成的 Java 应用程序
创建 Java 包后,您可以从 Java 应用程序调用该包。此示例使用在打包过程中生成的示例 Java 代码。您可以将此示例 Java 应用程序代码用作指南来编写您自己的应用程序。
将生成的 Java 文件
makesqrSample1.java从samples文件夹复制并粘贴到包含makesqr.jar包的文件夹中。在系统命令提示符下,导航到包含
makesqrSample1.java和makesqr.jar文件夹。使用
javac编译应用程序。在 classpath 参量中,指定javabuilder.jar的路径,其中包含com.mathworks.toolbox.javabuilder包和生成的 Java 包makesqr.jar。在 Windows 上,键入:
javac -classpath "matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1.java在 UNIX® 上,键入:
javac -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./makesqr.jar makesqrSample1.java将
替换为 MATLAB 或 MATLAB Runtime 安装文件夹的路径。例如,对于 Windows,路径可能是matlabrootC:\Program Files\MATLAB\R2026a。注意
如果
makesqr.jar或makesqrSample1.java不在当前目录中,请在命令中指定完整路径或相对路径。如果路径包含空格,请用双引号将其引起来。
使用
java运行应用程序。在 Windows 上,键入:
java -classpath .;"matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\makesqr.jar makesqrSample1在 UNIX 上,键入:
java -classpath .:"matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./makesqr.jar makesqrSample1注意
类路径第一个位置的点 (
.) 表示当前工作目录。如果该目录不存在,您会收到一条消息,指出 Java 无法加载该类。
应用程序会返回与 MATLAB 示例脚本相同的输出。
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
另请参阅
compiler.build.javaPackage | mcc