2013-03-14 41 views
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。

+0

作爲調試提示,您可以設置JAR到類路徑的完整路徑? – 2013-03-14 14:46:03

+0

@ShmilTheCat fullfile函數給出了完整的絕對路徑(即'C:\ stuff \ morestuff \ whatever \ Compiled \ SpectrometerInterInterface.jar'),那是你要求的,還是我誤解了你的? – Lucas 2013-03-14 14:57:23

+0

你應該區分b/n _dynamic_類路徑和靜態路徑,請看http://www.mathworks.com/help/matlab/ref/javaclasspath.html更改classpath.txt應該勾住你 – 2013-03-14 15:17:17

回答

0

請看看this和設置您的classpath.txt