我从proto文件生成了一些Java类。只是为了确保我没有犯错:我首先使用protoc编译proto文件,然后使用javac编译生成的java文件。
我正在尝试导入我在Matlab中生成的类,但我不断收到错误:
Error using javaMethod No class MyClass can be located on the Java class path
我在Matlab中修改了classpath.txt,添加了包含java类的目录和jar文件本身的路径。我查了一下,我相信我用来编译java类的java版本与Matlab使用的相同。
有什么想法吗?我无法理解它...... :(
谢谢!
答案 0 :(得分:0)
当类文件与嵌入式JVM不兼容时,MATLAB误导性地产生No class MyClass can be located on the Java class path
错误。确保您尝试使用的Java类文件不针对较新的JVM。您可以使用version -java
检查MATLAB的JVM版本。
R2007b:
>> version -java
ans =
Java 1.6.0 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
R2014b-预发行:
>> version -java
ans =
Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) Client VM mixed mode
如果您的类文件是使用较新的JDK编译的,则需要重新编译它们。您可以使用较旧的兼容JDK;或者您可以使用较新的JDK,但使用javac
,-source
和-target
选项运行-bootclasspath
以定位较旧的MATLAB JVM。