Matlab代码打包成jar包供java调用

最近在做一个项目,要将Matlab代码打包成jar包,供java调用。记录一下过程,有什么不对的地方欢迎大家指出。

我下载的是matlab2019a版本,java代码使用的是IntelliJ IDEA。

1、首先确认一下matlab中使用的jdk版本,再看看自己电脑中安装的jdk版本是多少,必须要保持两者的版本是一致的,不然打jar包的时候会报错。

查看matlab的jdk版本命令,在matlab命令行窗口中输入:version -java
在这里插入图片描述
我的版本是1.8的。但是我电脑中安装的jdk版本是14.0的,所以我需要再安装一个1.8的版本。首先去Oracle官网上下载1.8的jdk。下载过程自行百度。下载完之后按照提示安装即可。安装完了需要配置环境变量。

2、现在我电脑上有两个版本的jdk,一个是1.8,一个是14.0。要把环境变量中的jdk版本设置为1.8的。

第一步:打开环境变量的编辑界面。
第二步:添加变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。变量值一定要写准确了,不要漏掉前面的小点,写完之后点击确认按钮。
在这里插入图片描述
第三步:我之前配置的jdk版本是14.0,要切换成1.8的版本,不需要删掉14.0的,只需要做一下修改即可:

在这里插入图片描述
14的jdk版本变量名设置为:JAVA_HOME_IDEA ,变量值为:14版本的jdk安装路径。
1.8的jdk版本变量名设置为:JAVA_HOME_MATLAB,变量值为:1.8版本的安装路径。
(注:有几个jdk就配几个变量,比如我的电脑上有2个版本的jdk)
根据不同需求可以直接更改JAVA_HOME的变量的值即可,当前我是使用的是1.8的jdk版本,所以设置JAVA_HOME的值为:%JAVA_HOME_MATLAB%\,如果后面想用14的jdk版本了,那就修改一下JAVA_HOME的变量值为%JAVA_HOME_IDEA%\即可。

第四步:编辑系统变量中的Path

在这里插入图片描述
将%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin添加到Path中。

在这里插入图片描述
第五步:设置完成后,在cmd窗口输入命令行java -version,查看jdk版本是否为想用的版本。

在这里插入图片描述
第六步:环境变量配置成功后,因为matlab中默认载入启动时的jdk版本,所以务必重启matlab之后再次在matlab的命令行窗口中输入version -java,才能配置成功!!一定要重启!系统jdk才能和matlab中的版本匹配!

3、将matlab代码打成jar包

第一步:在matlab命令行窗口中输入deploytool,会出现下面的提示:
在这里插入图片描述刚安装matlab的话,可能不会跳出这个窗口,而是提示缺少Compiler,那就先去安装一下。

点击主页的附加功能中下拉箭头,点击获取附加功能

在这里插入图片描述在搜索框里搜索MATLAB Compiler SDK,搜索结果第一个要找安装的功能

在这里插入图片描述安装完成之后,再次在matlab的命令行窗口中输入deploytool就可以了。点击Library Compiler。
在这里插入图片描述第二步:

1:选择Java Package
2:将要打包的matlab文件加载进来,只能加载.m格式的文件
3:包名,可以自由修改
4:类名,可以自由修改
5:点击右上角的Package按钮

在这里插入图片描述
打包成功后会弹出下面这样的界面,如果打包失败了,一般都是因为电脑上配置的jdk版本和matlab需要的jdk版本不一致导致的,其他问题我暂时没有遇到过。

在这里插入图片描述
4、将jar包导入到java程序中
打包成功之后会生成一个文件夹,文件夹的名字就是之前写的包名,打开这个文件夹,里面有一个文件夹,名字为:for_redistribution_files_only。继续打开这个文件夹,里面会有一个jar包,名字为之前写的包名。

在这里插入图片描述
另外去Matlab安装路径下,MATLAB – >R2019a – >toolbox – >javabuilder – >jar,找个一个名为"javabuilder"的bar包。

在这里插入图片描述
将这两个jar包导入到java中

在这里插入图片描述注:IDEA本身需要加载一个jdk,我的是14版本,这个版本无须跟matlab中的jdk版本保持一致。

5、接下来就可以编写代码了,直接在java代码中导入这两个包即可。

在这里插入图片描述
然后就可以使用了。

题外话:若matlab中函数的输入参数需要一个数组,所以在java中调用这个函数的时候也需要输入一个数组,但是不能是普通的java数组,需要转换成能被matlab使用的形式,如下所示:

在这里插入图片描述

参考:
https://blog.csdn.net/jacksonary/article/details/78913656
https://www.jianshu.com/p/8a0f968fca39

  • 4
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将 MATLAB 代码打包 JAR 文件需要执行以下步骤: 1. 将 MATLAB 代码保存为独立的函数文件(.m 文件)。 2. 使用 MATLAB Compiler 将这些函数编译可执行文件。 3. 将可执行文件打包 JAR 文件。 下面是具体的步骤: 1. 将 MATLAB 代码保存为独立的函数文件。确保每个函数文件都包含函数定义和任何必需的 MATLAB 工具箱函数。 2. 使用 MATLAB Compiler 将这些函数编译可执行文件。打开 MATLAB,导航到需要编译的函数文件所在的文件夹。然后在 MATLAB 命令窗口中输入以下命令: ``` mcc -m functionname ``` 其中,"functionname" 是要编译的函数文件的名称。这将生一个可执行文件(.exe 或 .app,具体取决于您的操作系统)。 3. 将可执行文件打包 JAR 文件。可以使用第三方打包工具(如 Eclipse 或 NetBeans)来创建 JAR 文件。将可执行文件添加到 JAR 文件中,然后将 JAR 文件保存到您选择的位置。 完上述步骤后,您现在可以将 JAR 文件传递给其他人,他们可以在没有 MATLAB 的情况下运行您的 MATLAB 代码。 ### 回答2: 要将MATLAB代码打包JAR文件,需要按照以下步骤进行操作: 1. 首先,确保你已经安装了MATLAB软件并且具备编写、运行代码的能力。 2. 在MATLAB中,将你的代码整理为一个函数或类的形式,并确保所有的依赖文件(如其他函数、数据文件等)都在同一个文件夹下。 3. 在命令窗口中使用"mcc"命令来编译你的MATLAB代码为可执行文件。语法为:mcc -m your_function.m(或者mcc -m your_class.m)。 4. 当编译完后,会生一个可执行文件(.exe格式)。将此文件复制到一个新的文件夹中,命名为"source"(或其他你喜欢的名称),这将JAR文件的源文件夹。 5. 创建一个新的文本文件,命名为"jarCommand.txt"。在该文本文件中输入以下内容: ``` ctf_name_for_your_jar_file.jar -m your_function.exe ``` 其中ctf_name_for_your_jar_file.jar是你想要生JAR文件的名称,your_function.exe是你之前生的可执行文件的名称(如果你有多个可执行文件,可以将它们以空格分隔写入)。 6. 保存并关闭"jarCommand.txt"文件。 7. 打开命令提示符(CMD)或终端,进入"source"文件夹所在的路径。 8. 在命令提示符或终端中执行以下命令来生JAR文件:jar -cfm your_jar_file.jar jarCommand.txt * 其中your_jar_file.jar是你想要生JAR文件的名称,jarCommand.txt是你之前创建的文本文件的名称。 9. 等待命令执行完毕,生JAR文件就在你指定的路径位置上。 通过以上步骤,你就可以将MATLAB代码打包JAR文件,并使用Java运行该JAR文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值