1
我在MATLABMATLAB Java類
使用java包有困難首先我我的.jar添加到動態路徑:
filename = fullfile(pwd,'Compiled','SpectrometerInterface.jar');
ls(filename)
javaaddpath(filename);
的ls
回報SpectrometerInterface.jar
確認文件存在,並且javaclasspath
確認它確實被添加。
然後,當我請求對象,即使用
obj = javaObject('com.jellymatter.spectrometerinterface.UDPSpectrometer');
或
obj = com.jellymatter.spectrometerinterface.UDPSpectrometer()
它說類不能被發現。它絕對在.jar中的正確目錄中,而我的課程縮減版本如下
package com.jellymatter.spectrometerinterface;
public class UDPSpectrometer {
private UDPInterface inter = null;
public UDPSpectrometer(){
/* Nothing here */
}
public void connect(String addr, int p1, int p2) throws CommunicationException{
...
}
public double[] get() throws CommunicationException, SpectrometerNotCalibratedException {
...
}
}
有什麼建議嗎?
編輯:診斷
MATLAB的Java虛擬機是一個低版本(JRE 1.5)已編譯的Java(JDK 1.7)。
編輯:解
我解決它使用JDK 1.5編譯,但是,也,人們可以在MATLAB升級JVM。
作爲調試提示,您可以設置JAR到類路徑的完整路徑? – 2013-03-14 14:46:03
@ShmilTheCat fullfile函數給出了完整的絕對路徑(即'C:\ stuff \ morestuff \ whatever \ Compiled \ SpectrometerInterInterface.jar'),那是你要求的,還是我誤解了你的? – Lucas 2013-03-14 14:57:23
你應該區分b/n _dynamic_類路徑和靜態路徑,請看http://www.mathworks.com/help/matlab/ref/javaclasspath.html更改classpath.txt應該勾住你 – 2013-03-14 15:17:17