使用随附的.jar编解码器文件在MATLAB中从Java .class运行main

时间:2019-01-29 20:54:18

标签: java matlab

我有一个主要方法可以从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'中找到所需的方法。我该如何解决。

谢谢

1 个答案:

答案 0 :(得分:0)

我知道了。

解决方案是将javaclasspath.txt更改为:

 <before> C:\***\somefolder\commons-codec-1.7.jar
 C:\***\somefolder

这将强制commons-codec-1.7.jar覆盖我的MATLAB安装的默认静态路径中的commons-codec.jar。