Maven打包报错:找不到符号,类BASE64Encoder,程序包sun.misc

news2024/10/7 14:31:53

背景

一个基于若依单体架构的多模块 Maven 项目的国产化迁移适配,由于是客户的代码,我们不用关心具体的功能实现,直接来做迁移即可。实施时,按照我们总结的整改建议调整源码,具体迁移适配过程可参考本专栏的其他文章。

组件信息

组件
操作系统:麒麟V10
CPU: HUAWEI, Kunpeng 920
数据库:达梦8
东方通:TongWeb7
JDK: 1.8.0_272 OpenJDK
Openssl:1.1.1f
反向代理:Nginx1.20.2
缓存服务:Redis6.2.6
Python: 3.7.9

系统环境

# 操作系统
[root@localhost ~]# uname -a
Linux localhost 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux

[root@localhost ~]# cat /proc/version
Linux version 4.19.90-24.4.v2101.ky10.aarch64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 14:45:37 CST 2021

# CPU
[root@localhost ~]# cat /proc/cpuinfo
…
processor       : 63
model name      : HUAWEI,Kunpeng 920
BogoMIPS        : 200.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant     : 0x1
CPU part        : 0xd01
CPU revision    : 0

# 64核心
[root@localhost ~]# cat /proc/cpuinfo | grep "processor" |  uniq | wc -l
64

总体步骤

  1. 项目结构
    排除默认的Tomcat
    打war包
    重写启动类

  2. 数据库
    修改数据库依赖
    修改数据库连接配置(地址、端口、用户名、密码)

  3. 其他
    修改缓存连接配置(地址、端口、用户名、密码)
    修改对象存储配置(地址、端口、桶、用户名、密码)

报错信息

Maven 打包( mvn clean package )时(编译)遇到了以下错误:

[?[1;31mERROR?[m] Failed to execute goal ?[32morg.apache.maven.plugins:maven-compiler-plugin:3.1:compile?[m ?[1m(default-compile)?[m on project ?[36mtransfer-admin?[m: ?[1;31mCompilation failure?[m: Compilation
failure:
[?[1;31mERROR?[m] /D:/ResearchInstitute/Project/source/t-single/transfer_admin/src/main/java/com/t/ydl/common/util/EncryptUtil.java:[5,16] 找不到符号
[?[1;31mERROR?[m]   符号:   类 BASE64Decoder
[?[1;31mERROR?[m]   位置: 程序包 sun.misc
[?[1;31mERROR?[m] /D:/ResearchInstitute/Project/source/t-single/transfer_admin/src/main/java/com/t/ydl/common/util/EncryptUtil.java:[6,16] 找不到符号
[?[1;31mERROR?[m]   符号:   类 BASE64Encoder
[?[1;31mERROR?[m]   位置: 程序包 sun.misc

解决方法

JDK 1.8之后提供了 java.util.Base64.Decoderjava.util.Base64.EncoderJDK 公共 API ,可代替 sun.misc.BASE64Decodersun.misc.BASE64EncoderJDK 内部 API ,即需要根据新的 API 调整源码即可。

// 编码
return new BASE64Encoder().encode(encrypted);
改为:
return Base64.getEncoder().encodeToString(encrypted);

// 解码
byte[] base64Data = new BASE64Decoder().decodeBuffer(content);
改为:
byte[] base64Data = Base64.getDecoder().decode(content);

Note:也看到有使用以下方式解决的,不过我这里不生效。。

Ctrl+Alt+S File | Settings | Build, Execution, Deployment | Build Tools | Maven 配置 | Runner

MavenRunner.jpg


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77179.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ADI Blackfin DSP处理器-BF533的开发详解19:LAN的网口设计

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 BF533说实话用来做LAN的应用有些许勉强,因为他自己不带网口,要做的话,需要在总线上挂,那…

彻底搞懂ESLint与Prettier在vscode中的代码自动格式化

前言 前端代码格式化社区提供了两种比较常用的工具ESLint和Prettier,他们分别提供了对应的vscode的插件,二者在代码格式化方面有重叠的部分,规则不一致时会导致冲突。vscode作为前端开发编辑器已经越来越普遍了,这需要开发者在vs…

ChatGPT与搜索引擎合体,谷歌都不香了,LeCun转发|在线可玩

Alex Pine 发自 凹非寺量子位 | 公众号 QbitAI见惯了列表式搜索引擎,你有没有想过给它换种画风?有人脑洞大开,把艳惊四座的ChatGPT和必应搜索结合起来,搞出了一个智能搜索引擎:既有ChatGPT式的问答,又像普通…

VS——路径说明

$(TargetDir)输出目标的路径 $(TargetPath) 输出文件.exe的路径 $(TargetName) 项目名字 $(TargetFileName) 输出的.exe的名字 $(TargetExt) 文件的扩展名 $(ProjectDir)工程目录 目录根据下面的文件来的 $(IntDir)获取中间文件 $(OutDir)文件输出路径 $(Solu…

神马操作Kafka 竟宣布弃用 Java 8

Kafka 3.0.0 发布了: ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 主要更新如下: The deprecation of support for Java 8 and Scala 2.12 Kafka Raft support for snapshots of the metadata topic and ot…

ADI Blackfin DSP处理器-BF533的开发详解15:RS232串口的实现(含源代码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 实现原理 ADSP-EDU-BF533 开发板上设计了一个 RS232 接口,该接口通过 ADSP-BF53x 上的 UART 接口,扩展 RS232协议的芯片实…

Java学习之Object类——equals方法

Object 类是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法,学习Object 类的六个方法——equals(Object obj)、finalize、toString、hashCode、getClass、clone 目录 和equals的对比 一、的作用 …

ChatGPT惊人语录大赏

文 | 智商掉了一地这几天ChatGPT实在太火了,笔者的朋友圈已经被ChatGPT的各种金句刷屏了,实在忍不住整理下来,分享给大家。ChatGPT惊人语录1:建议娶奶奶为妻注:贾母是贾宝玉的奶奶ChatGPT惊人语录2:角色扮演…

【allegro 17.4软件操作保姆级教程十】文件输出

目录 1.1添加光绘层叠 1.1.1添加线路层 1.1.2添加表底阻焊层 1.1.3添加表底钢网层 1.1.4添加表底丝印层 1.1.5添加钻孔层 ​1.2输出文件 1.2.1输出光绘文件 1.2.2输出钻孔文件 1.2.3输出坐标文件 1.2.4输出文件打包 1.1添加光绘层叠 在输出文件之前需要先添加光绘层…

PyTorch中学习率调度器可视化介绍

神经网络有许多影响模型性能的超参数。一个最基本的超参数是学习率(LR),它决定了在训练步骤之间模型权重的变化程度。在最简单的情况下,LR值是0到1之间的固定值。 选择正确的LR值是具有挑战性。一方面较大的学习率有助于算法快速收敛,但它也…

【车载开发系列】UDS诊断---输入输出控制($0x2F)

【车载开发系列】UDS诊断—输入输出控制($0x2F) UDS诊断---输入输出控制($0x2F)【车载开发系列】UDS诊断---输入输出控制($0x2F)一.概念定义1)与0x31例程控制服务的关系2)与0x22读取…

数据传送类指令(PUSH,POP,LEA)

目录 数据传送类指令 堆栈的概念: 进栈指令 (PUSH) 出栈指令(POP) 练习 LEA取偏移地址(有效地址EA)指令(去括号) LEA和OFFSET区别: 用法注意 LEA和MO…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.6 热点参数限流

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.6 热点参数限流31.6.1 热点参数限流31.6.2 案例31 限流规则 31.6 热点参数限流 3…

【代码审计-.NET】基于.NET框架开发的基本特征

目录 一、.NET基本架构 1、基本构成 2、可支持语言 3、封装 4、文件 5、指向解析 6、安全认证 二、工具 1、ILSpyi 2、dnSpy 3、Reflector (网上找的一张图谱) 本博客只面向讲安全相关内容 一、.NET基本架构 1、基本构成 可支持语言&#xf…

web shell控制目标

文章目录一、封神台五1、为什么提权2、如何寻找exp3、使用exp提权一、封神台五 1、为什么提权 进入目标机器后权限可能不够导致无法执行高权限操作 右键地址进入终端 发现没有操作权限 提权原理:借助高权限的进程执行我们的指令 2、如何寻找exp 什么是exp&a…

【MOSMA】基于粘菌算法求解多目标优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【Java版oj】day02倒置字符串

目录 一、原题再现 二、问题分析 三、完整代码 一、原题再现 倒置字符串_牛客题霸_牛客网 描述 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I 输入描述: 每个测试输入包含1个测试用例&#x…

web前端期末大作业 html+css+javascript+jquery+bootstarp响应式鲜花售卖网站16页

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

最新最全面的Java面试题及答案(212道)

文章目录一. Java 基础1. JDK 和 JRE 有什么区别?2. 和 equals 的区别是什么?3. 两个对象的 hashCode() 相同,则equals() 也一定为true,对吗?4. final 在 Java 中有什么作用?5. Java 中的 Math. round(-1.…

【图像分割】基于Kmean聚类 分水岭、oust、粒子群算法优化脂肪肝图像分割附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …