如何在Matlab中使用用户定义的Java类?

时间:2009-08-09 16:34:03

标签: java matlab interface

我已经阅读了有关如何执行此操作的文档和几个网站,但是Matlab似乎没有选择我添加到动态java类路径中的类。我也没有使用正确的语法来正确构造对象。

我有一个类HandDB,用于创建此类型的对象并调用它的静态方法来连接到SQL数据库。该类有一个空构造函数,不带参数。该类是我在Netbeans中的一个项目中创建的包'nuffielddb'的一部分。所有文件都在我的usb棒上,这是我的E:\驱动器......

我希望能够使用包中的所有类。该软件包包含在E:\ nuffielddb。

我在Matlab中输入了以下命令:

javaaddpath('E:\'); 
javaclasspath;    % Output from java class path includes E:\ within dynamic path
str = java.lang.String('Test'); % Works fine
db = nuffieldbd.HandDB(); % Does not work - undefined variable or class error

有趣的是我输入'import nuffielddb。*;'并没有收到错误。

我哪里出错?

感谢您的帮助btw!

3 个答案:

答案 0 :(得分:1)

啊问题解决了!从某种意义上说没有解决!我发现它实际上是我的matlab安装问题,我不知道如何解决它:-( 没关系,它适用于办公室的电脑: - )

答案 1 :(得分:1)

如果您的类位于.jar文件中,请确保您的类路径包含.jar文件名本身(而不仅仅是它所在的目录)。

如果MATLAB JRE是Java 1.5(R2006b是,而R2009a是Java 1.6,不确定何时切换),请确保您的类编译为1.5作为目标,而不是1.6,否则MATLAB将无法使用它们。

答案 2 :(得分:1)

次要注意:。*导入永远不会出错,因此它们不会被诊断。他们只是将一个包添加到Matlab在尝试解析类名时搜索的列表中。不存在的包将被忽略。

>> import this.package.does.not.exist.*
>>