java - SUNOS上的Weblogic commons-codec Base64 nosuchMethodError
问题描述
用于解码的代码:Base64.decodeBase64("String");
Commons-codec jar 版本:1.9
异常:嵌套异常是 java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.decodeBase64(Ljava/lang/String;)
环境详细信息:操作系统:SunOS 版本:5.11 Java 版本:1.8.0_221(Oracle 公司)
在以下环境中工作的相同 WAR 环境详细信息:操作系统:AIX 版本:7.1 Java 版本:1.8.0_191(IBM JDK)
解决方案
如果你得到一个NoSuchMethodError
,这意味着你有一个运行时版本不兼容的问题。代码库的某些部分取决于1一个版本,Base64
该版本有一个调用的方法,该方法decodeBase64
采用单个String
参数。但是已经加载的类的版本没有那个方法。
该方法的 javadoc 中有一条线索。它说该方法已添加到Base64
API 的 1.4 版中。因此,请检查已部署的 JAR 文件,以查看运行时类路径上是否存在 Apache Commons Codec JAR 的旧(1.4 之前)版本。
1 - 它可能是静态依赖;即正常的方法调用。它也可以是动态依赖;例如,尝试使用反射查找方法。
推荐阅读
- azure - 尝试创建 Azure 逻辑应用连接,但出现错误
- reactjs - 在 webpack 生产构建中未呈现组件
- angular - 为什么我的客户指令不起作用?
- python - Webdriver Selenium 与 python
- r - 如何在 mutate 语句中对两列进行排序和粘贴?
- javascript - WKWebview - 拦截 JS CSS
- scala - 使用 Akka.io 从 Azure SQL 数据库中提取数据
- jquery - 我在本地使用 AJAX 时收到 403(禁止)错误
- xbrl - 在 XBRL 中,同一个演示网络是否适用于单个 SEC 文件中的所有上下文?
- reactjs - 尝试在终端中运行 npm start 命令