2012-05-03 22 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

回答