1

我的 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 上运行,即无论它在哪里解压。用户可以在他选择的任何文件夹中解压它,所以我不希望源代码中有硬编码路径。

任何帮助表示赞赏。

4

1 回答 1

1

您可以使用它mfilename来查找正在运行的 M 文件的路径,您可以将其与 JAR 文件名连接起来,例如,

javaaddpath(fullfile(fileparts(mfilename('fullpath')),'DrawModels.jar'))

这必须放在 M 文件中,您想使用该文件将 Java 类添加到 MATLAB。

于 2013-10-08T17:43:03.333 回答