[英]Why I cannot run this java foo.class file in MATLAB
我已經編譯了以下java文件,並將文件路徑添加到了classpath中。 但是在調用該類后,它會顯示一些錯誤。 由於我是Java新手,請幫助我。
MyQueue2.java
import java.util.PriorityQueue;
import java.util.*;
public class MyQueue2 {
Comparator<Double> c;
PriorityQueue<Double> PQ;
public MyQueue2() {
c = new Comparator<Double>(){
public int compare(Double o1, Double o2){
if(o2 > o1) {
return -1;
} else if(o1 > o2) {
return 1;
} else {
return 0;
}
}
};
PQ = new PriorityQueue<Double>(1000,c);
}
public void addElement(double d) {
PQ.add(d);
}
public double removeElement() {
return(PQ.remove());
}
}
我在MATLAB中的命令:
import java.util.PriorityQueue;
import java.util.*;
import MyQueue2;
methods('MyQueue2') %
Methods for class MyQueue2:
MyQueue2 equals hashCode notifyAll toString
addElement getClass notify removeElement wait
a = MyQueue2
Java exception occurred:
java.lang.NoClassDefFoundError: MyQueue2$1
at MyQueue2.<init>(MyQueue2.java:9)
Caused by: java.lang.ClassNotFoundException: MyQueue2$1
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.mathworks.jmi.CustomURLClassLoader.findClass(ClassLoaderManager.java:760)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more
b = MyQueue2 % again
Java exception occurred:
java.lang.NoClassDefFoundError: MyQueue2$1
at MyQueue2.<init>(MyQueue2.java:9)
請幫我解決問題。
編譯MyQueue2.java之后,應該獲得2個類文件MyQueue2.class和MyQueue2 $ 1.class-這是為Comparator生成的匿名類,您是否將它們全部都放在了類路徑中? 我猜你忘了這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.