matlab java接口--无法将用户自定义的class添加到Javaclass路径

matlab java interface--can not add the user-defined class to the Java class path

我写了个简单的class: 测试编译后放在th

'D:\Dropbox\projects\ICPR2013\code\java\union_find'. 

代码:-

public class test {
    public test() {
        System.out.printf("hello world!");
    }
}

然后我使用下面的代码将定义的 class 带到 Java class 路径。我还使用 javaclasspath 来确保包含 'test' class 的文件夹已添加到 Java class 路径。

javaaddpath('D:\Dropbox\projects\ICPR2013\code\java\union_find');

但是当我使用 x = javaObjectEDT('test'); 调用 'test' class 时,它给我以下错误:No class test can be located on Java class路径

假设您的 class 在名为 test.java 的文件中,在 Ubuntu 14.04 和 Matlab 2013a 上,您可以执行以下操作:

  1. 使用 java 6(即 Matlab 2013a 中使用的 java 版本)编译您的 class 文件。 Ubuntu 14.04 不附带此 java 版本。所以你需要安装它。指令是 here.

    /usr/lib/jvm/java-6-oracle/bin/javac-d。 test.java

  2. 制作 jar 文件:

    /usr/lib/jvm/java-6-oracle/bin/jar cf test.jar test.class

  3. 转到 Matlab 并添加 jar 文件和 运行 它:

    javaaddpath('/tmp/test.jar');
    test()
    hello world!

希望对您有所帮助。