maven编译提示找不到符号sun.misc.BASE64Decoder问题解决

现象:明明本地环境是jdk1.8,在idea工具中点击BASE64Decoder 也能正常访问到该文件。但就是在执行mvn 编译命令时,maven日志打印error,提示:找不到符号sun.misc.BASE64Decoder。

原因:本地jdk环境有问题,不知道什么时候装了两个jdk8,默认的jdk版本非idea中加载指定的版本。

macbook 查询本地jdk版本命令,注意大小写:

bash 复制代码
/usr/libexec/java_home -V

解决:

删除非idea指定版本的jdk即可,如下命令是我自己这边多余的jdk版本路径,具体操作可视自己情况而定。

bash 复制代码
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

删除后可使用查询命令检查jdk版本信息。

我这里还多做了一步,在 ".bash_profile" 文件中配置了JAVA_HOME 等信息,上边操作不成功,可再添加如下配置后再尝试。

配置信息:

bash 复制代码
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

使其立即生效命令:

bash 复制代码
source .bash_profile
相关推荐
ps酷教程4 小时前
Jackson 解决没有无参构造函数的反序列化问题
java
NiceCloud喜云4 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
AI玫瑰助手5 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
油炸自行车5 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
肩上风骋5 小时前
C++14特性
开发语言·c++·c++14特性
_日拱一卒5 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
隔窗听雨眠6 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
智慧物业老杨6 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
源码宝6 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区7 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展