当我试图从matlab使用java时,我遇到了一个问题。我多次阅读了MathWork.com的教程,还重新安装了JDK1.6,以便与matlab兼容。然而,在我的工作之后,它仍然不起作用...
以下是classpath.txt中的内容:
C:\Program Files\MATLAB\R2010a\java\jarext\xstream.jar
C:\Program Files\MATLAB\R2010a\toolbox\javabuilder\jar\win64 \javabuilder.jar
DYNAMIC JAVA PATH
C:\Users\Gao\Desktop\connected_components_labeling显然,该目录包含在文件中。connected_component_labeling只是我磁盘上的一个文件夹。我想在connected_components_labeling中使用的类是: Disjoint_Set.class和Node.class位于connected_components_labeling文件夹中。
我试过了:
x = Disjoint_Set();也是
x = connected_components_labeling.Disjoint_Set();它们都不起作用。我从matlab得到的唯一反馈是:
??? Undefined variable "connected_components_labeling" or class
"connected_components_labeling.Disjoint_Set".我很沮丧。有谁能帮帮我吗?我会很感激的。非常感谢!
发布于 2012-06-16 02:18:37
确保您正在使用与MATLAB兼容的JRE/JDK编译java文件。据我所知,MATLAB在Java7上不能正常工作,所以暂时还是使用Java6吧……
有几个环境变量会影响MATLAB。在我的例子中,我有:
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_32
MATLAB_JAVA = C:\Program Files\Java\jre6
PATH = ...;C:\Program Files\Java\jdk1.6.0_32\bin这是我刚刚做的一个简单的测试:
C:\work\Student.java
public class Student {
private String name;
public Student(String str) {
name = str;
}
public void setName(String str) {
name = str;
}
public String getName() {
return name;
}
public static void main(String args[]) {
Student s = new Student("amro");
s.setName("unknown");
System.out.println("Hello " + s.getName());
}
}我编译了:javac Student.java (输出放在相同的目录c:\work\Student.class中)。现在我从MATLAB测试它:
javaaddpath('C:\work')
javaMethod('main','Student','')
s = Student('me')
char( s.getName() )我得到了:
Hello unknown
s =
Student@8d6877
ans =
mehttps://stackoverflow.com/questions/11053664
复制相似问题