java - 在 MATLAB 中从 java .class 运行 main 并附带 .jar 编解码器文件
问题描述
我有一个从 Matlab 中的 java 类运行的主要方法。java 类文件中使用的一些方法位于 .jar 文件中。
我的 javaclasspath.txt 看起来像这样:
C:\***\somefolder\commons-codec-1.7.jar
C:\***\somefolder
'X.class' 文件是 'somefolder' 文件夹,以及它需要运行的 commons-codec-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”中找到所需的方法。我该如何解决这个问题。
谢谢
解决方案
我让它工作。
解决方案是将 javaclasspath.txt 更改为:
<before> C:\***\somefolder\commons-codec-1.7.jar
C:\***\somefolder
这会强制 commons-codec-1.7.jar 覆盖我的 MATLAB 安装的默认静态路径中的 commons-codec.jar。
推荐阅读
- android - 应用程序未构建 apk - MethodHandle.invoke 和 MethodHandle.invokeExact 仅支持从 Android O (--min-api 26) 开始
- firebase - 是否可以使用一个 POST 请求在不同位置添加新节点?
- javascript - 如果设置了 type="module",为什么 childNodes 在 connectedCallback 中返回不同的值?
- pytest - 命令行上的 pytest 配置选项
- python - 如何生成与 python 中的另一个图像具有相同频率分布的粉红噪声图像?
- ios - SFSpeechRecognizer kAFAssistantErrorDomain 短暂暂停后出现错误 203
- python - 从客户端网站在 Flask 中停止 while 循环
- c - 是否可以将文本字符串分配给指针?
- .net-core - 调用已部署的 ASP.Net Core Web API 时找不到 404
- angular - 在网络上共享 Angular 项目