matlab代码导出为jar包方法

1.导出JAR包方法

java版本不得高于8

以func.m为例

function result = func(x)
    result = 2*x+1;
end

在命令行窗口输入deploytool,如下图
在这里插入图片描述

选择Library Complier,选择Java Package和matlab文件,设置类名并打包
在这里插入图片描述

打包会生成四个文件夹

在这里插入图片描述

所需要的jar包在for_redistribution_files_only中,如下图

在这里插入图片描述

2.Java调用matlab导出的JAR包

运行jar包还需要matlab中的javabuilder.jar文件,具体位置如下图所示

在这里插入图片描述

javabuilder.jar和导出的jar包导入java工程项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调用jar

在这里插入图片描述

可以看到这里对导出的Func生成了三个同名方法,其中最常用的是第三个方法

其第一个参数代表传入参数的个数

其后是可变参数,即传入的x

其对应的matlab代码为:

function result = func(x)
    result = 2*x+1;
end

其余参数含义可自行查询

这里展示了调用matlab实现的计算2*x+1的函数和绘制sigmod图像的函数的具体过程

在这里插入图片描述

3.Ubuntu下搭建matlab运行时环境

Windows环境下导出的jar包直接在Ubuntu下运行会出现缺少动态库等异常,如下图

在这里插入图片描述

因此需要配置matlab运行时环境

matlab运行时环境下载:https://www.mathworks.com/products/compiler/matlab-runtime.html

安装方法:

#解压文件
unzip MATLAB_Runtime_R2022b_glnxa64.zip
#交互式安装(图形界面)
sudo -H ./install
#非交互式安装(命令行)
./install -inputfile installer_input.txt
#installer_input.txt文件内容为:
#agreeToLicense=yes
#destinationFolder=/usr/MATLAB/MATLAB_Runtime
#outputFile=myapp_log.txt
#-agreeToLicense:同意 MATLAB Runtime 许可证。
#-destinationFolder:指定 MATLAB Runtime 的安装位置。
#-outputFile:指定安装日志文件的写入位置。

或者将以前安装过的环境文件夹直接拷贝过来也行

安装完成后,添加环境变量sudo vim /etc/profile ,并重启

export LD_LIBRARY_PATH=/home/lzy/Downloads/matlab/R2022b/runtime/glnxa64

Ubuntujavamatlab导出的jar包与matlab代码运行对比如下:

在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MATLAB 中打包 Java 类的 JAR 文件时,可能会遇到各种错误。以下是一些常见的 JAR 打包错误以及如何解决它们的方法: 1. 错误:找不到或无法加载主类 这通常是因为在打包 JAR 文件时没有正确指定主类。在 MATLAB 中,您可以通过在命令行中使用 '-C' 选项来指定主类: ``` jar cvfe myjar.jar MainClass -C myclasses . ``` 其中,'MainClass' 是您的主类名称,'myclasses' 是包含您的类文件的文件夹名称,'.' 表示当前文件夹。 2. 错误:找不到依赖项 如果您的 Java 类依赖于其他类或库,则在打包 JAR 文件时应将这些依赖项包含在内。您可以使用 '-classpath' 选项来指定依赖项: ``` jar cvfm myjar.jar Manifest.txt -C myclasses . -classpath mylib.jar ``` 其中,'mylib.jar' 是您的依赖项 JAR 文件的名称。 3. 错误:无法解析符号 这通常是因为您的 Java 类引用了不存在或无法访问的类或方法。检查您的代码并确保所有依赖项都正确导入和设置。 4. 错误:JAR 文件包含重复条目 如果您在 JAR 文件中包含了重复的类文件,则会发生此错误。确保仅在一个位置包含每个类文件。 5. 错误:无法访问 如果您的 Java 类使用了受保护或私有方法,则可能会发生此错误。确保您的代码在正确的环境中运行,并在需要时使用访问器方法。 希望这些解决方法可以帮助您解决 MATLAB 打包 JAR 文件时遇到的常见错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎汝聪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值