一、整体描述
这篇日志主要记录打包工作的准备与遇到的问题及解决办法,下篇日志再记录在java工程中正式的使用matlab生成的jar包。
为什么要打成jar包?最直接的原因便是matlab中有各种函数,如图像变换等相关函数,这些函数使用java来写可能会花很多精力,得到的结果也不一定精确,为此直接将matlab中编写好的功能模块打包成jar包,在java工程中引用即可。
二、准备工作
1、安装jdk1.7、matlabR2014a。
说明:之所以要安装jdk,是因为matlab打包成jar包时需要调用javac生成class文件。
注意:
(1)、网友均说使用jdk1.8会出现错误,自己未证实,直接下载安装了jdk1.7,安装注意事项见我另一篇日志:安装jdk注意事项
(2)、matlab已经发布到matlabR2017版本了,据说只要使用高于matlabR2006b的版本,都能打jar包。
2、matlabR2014a下载与安装,分享我的百度网盘收藏:
matlabR2014a:http://pan.baidu.com/s/1boNX4Kn
用于破解的serial:http://pan.baidu.com/s/1i4LdzkL
说明:matlabR2014a的安装步骤,与破解步骤在serial压缩包中的说明文件有说明,按步骤操作即可。另外,此serial文件中破解文件较全!
三、m文件生成jar包
步骤:
1、matlab编写m文件;
2、在matlab命令行输入deploytool并回车,出现下图,选择Library Compiler;
3、完成第2步后,弹出下图窗口,按步骤序号一一填写:
第1步:选择Java Package;
第2步:添加要打包进jar包的m文件;
第3步:设置包名;
第4步:设置类名及方法(方法默认都是.m文件,所以每个m文件里面写的应该都是function函数);
第5步:应该是m文件中涉及到的文件,不知m中调用的exe文件能否打包进来,下一篇再具体记录;
第6步:点击pacakge按钮开始打包,如图:
4、上面都完成后,若无错误,将默认在当前m文件所在目录生成以包名命名的文件夹,里面即含有jar包。
四、注意事项
1、若打包过程出现错误,且日志文件中提示类似:无法找到或加载主类 com.sun.tools.javac.Main,并不是因为m文件中需要添加入口函数,而是因为jdk配置出现问题,具体查看上面第一条的第(1)条注意事项中的链接。
2、日志中提示错误信息,类似:cann't open path '。。。/javac.exe',同样是因为jdk安装目录配置出错,且会发现提示的javac路径并不是当前环境变量中配置的路径。
3、若系统缺少相关组件,如在matlab命令行输入depoytool回车后提示"执行此命令,需要安装 framwork .net 4.0或以上版本" 等信息,则安装相应组件后重新matlab启动即可。
参考:
百度经验 http://jingyan.baidu.com/article/adc8151387caeaf723bf732f.html
csdn博客 使用java程序调用matlab