我有一个主要方法可以从Matlab中的Java类运行。 Java类文件中使用的某些方法位于.jar文件中。
我的javaclasspath.txt看起来像这样:
C:\***\somefolder\commons-codec-1.7.jar
C:\***\somefolder
在“X.class”文件是在“somefolder”文件夹中,其公共编解码器-1.7.jar文件一起,它需要来运行。
我的Matlab Java版本如下:
'Java 1.8.0_201-b09 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode'
环境变量MATLAB_HOME指向:
'C:\Program Files\Java\jdk1.8.0_201\jre'
java .class脚本是使用此SDK编译的。
我的MATLAB代码是:
import commons-codec-1.7.*
o = 'X'
javaMethod('main',o,'')
哪个输出此错误:
Java exception occurred:
java.lang.NoSuchMethodError:
org.apache.commons.codec.binary.Base64.encodeBase64String([B)Ljava/lang/String;
at X.main(X.java:28)
据我了解,MATLAB的结果未能在'commonds-codec-1.7.jar'中找到所需的方法。我该如何解决。
谢谢
答案 0 :(得分:0)
我知道了。
解决方案是将javaclasspath.txt更改为:
<before> C:\***\somefolder\commons-codec-1.7.jar
C:\***\somefolder
这将强制commons-codec-1.7.jar覆盖我的MATLAB安装的默认静态路径中的commons-codec.jar。