2013-10-08 60 views
1

我在MATLAB代码下面几行:MATLAB:导入Java库

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上运行,也就是无论它是否被解压。用户可以将其解压到他选择的任何文件夹中,所以我不想在源代码中使用硬编码路径。

任何帮助表示赞赏。

回答

1

您可以使用mfilename找到正在运行的M档,你可以用JAR文件名称,如串联的路径,

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

必须在M档一起去,你想添加Java类到MATLAB。