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 上,您可以执行以下操作:
使用 java 6(即 Matlab 2013a 中使用的 java 版本)编译您的 class 文件。 Ubuntu 14.04 不附带此 java 版本。所以你需要安装它。指令是 here.
/usr/lib/jvm/java-6-oracle/bin/javac-d。 test.java
制作 jar 文件:
/usr/lib/jvm/java-6-oracle/bin/jar cf test.jar test.class
转到 Matlab 并添加 jar 文件和 运行 它:
javaaddpath('/tmp/test.jar');
test()
hello world!
希望对您有所帮助。
我写了个简单的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 上,您可以执行以下操作:
使用 java 6(即 Matlab 2013a 中使用的 java 版本)编译您的 class 文件。 Ubuntu 14.04 不附带此 java 版本。所以你需要安装它。指令是 here.
/usr/lib/jvm/java-6-oracle/bin/javac-d。 test.java
制作 jar 文件:
/usr/lib/jvm/java-6-oracle/bin/jar cf test.jar test.class
转到 Matlab 并添加 jar 文件和 运行 它:
javaaddpath('/tmp/test.jar');
test()
hello world!
希望对您有所帮助。