我的MATLAB代码中有以下几行:
javaaddpath('C:\Users\localadmin\SkyDrive\IdeaProjects\DrawModels\out\artifacts\DrawModels_jar\DrawModels.jar')
javaaddpath('C:\Users\localadmin\SkyDrive\IdeaProjects\DrawModels\out\artifacts\DrawModels_jar\itextpdf-5.4.1.jar')
然后我继续实例化文件中定义的一些JAVA对象。
我想将JAR文件复制到.m文件所在的位置,然后编写以下代码(即我想使用相对路径而不是绝对路径)。
javaaddpath('DrawModels.jar')
javaaddpath('itextpdf-5.4.1.jar')
但是,MATLAB路径似乎不适用于 javaaddpath ,因此不会加载JAR文件。
关于如何实现JAR文件的相对路径寻址的任何想法?
这样做的背景是我希望MATLAB代码在Windows和Linux上运行,即在解压缩时。用户可以将其解压缩到他选择的任何文件夹中,因此我不希望源中存在硬编码路径。
任何帮助表示感谢。
答案 0 :(得分:1)
您可以使用mfilename
查找正在运行的M文件的路径,您可以将其与JAR文件名连接,如
javaaddpath(fullfile(fileparts(mfilename('fullpath')),'DrawModels.jar'))
这必须放在M文件中,您希望将Java类添加到MATLAB中。