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存根文件,因为它很长。我希望有人能够指出我在提供的代码中做错了什么。如果需要,我会添加存根源。
在此先感谢!
不'inmem'显示'Image'类加载? – Torious
所以在导入后,我运行显示(inmem),我得到以下内容: 'workspacefunc' 'pub'。 Pub是我给班上的变量名。所以它不加载它,考虑到原始的错误信息是有意义的。我的问题是,我不知道它为什么不加载它。 –
请参阅[此链接](http://www.mathworks.nl/help/techdoc/matlab_external/f4863.html),部分**使JAR文件中的类可用**;看起来像你必须指定jar的完整文件名。 – Torious