2012-05-03 26 views
1

我想在Matlab中使用Java protobuf存根。我在Eclipse中生成了Java存根和相應的jar文件。然後我拿起jar文件並將其添加到Matlab路徑中。在Matlab中我做到以下幾點:在Matlab中使用協議緩衝區Java綁定

import raven.aos.*; 
import raven.aos.Messages.*; 
image = Image.newBuilder(); 

在這一點上,我得到一個錯誤,指出消息:

??? Undefined variable "Image" or class "Image.newBuilder". 
Error in ==> pub>pub.pub at 16 
image = Image.newBuilder(); 

我已經使用完全相同的成功已經能夠使用Java jar的Java項目句法。所以這證明我的存根是正確的。我也在我的Matlab項目中成功導入並使用了不同的Java庫zmq.jar,因此在某種程度上驗證了我知道如何正確導入jar文件到Matlab中。

我已經避免附加生成的Java存根文件,因爲它很長。我希望有人能夠指出我在提供的代碼中做錯了什麼。如果需要,我會添加存根源。

在此先感謝!

+0

不'inmem'顯示'Image'類加載? – Torious

+0

所以在導入後,我運行顯示(inmem),我得到以下內容: 'workspacefunc' 'pub'。 Pub是我給班上的變量名。所以它不加載它,考慮到原始的錯誤信息是有意義的。我的問題是,我不知道它爲什麼不加載它。 –

+0

請參閱[此鏈接](http://www.mathworks.nl/help/techdoc/matlab_external/f4863.html),部分**使JAR文件中的類可用**;看起來像你必須指定jar的完整文件名。 – Torious

回答