java报错解决:sun.net.utils不存

目录

一、报错信息

二、报错的原因

三、解决方案

解决方案一:降级JDK版本

方案二:添加JVM编译参数

解决方案三:Maven项目配置


一、报错信息

启动服务的时候出现了报错,报错信息如下

java 复制代码
错误: 程序包sun.net.utils不存在
java 复制代码
错误: 找不到符号
 符号:   类 utils
 位置: 程序包 sun.net

二、报错的原因

sun.* 是Sun公司在开发JDK时创建的内部包,这些包并不属于Java语言规范的一部分。这些包位于 java.base 模块中,从 JDK 9 开始,模块系统(JPMS)默认禁止外部代码访问内部包。

三、解决方案

知道了报错的原因就可以对症下药,解决方案主要分为这几个思路,降低jdk版本,比如改用jdk8就可以正常访问,或者提高模块权限

解决方案一:降级JDK版本

笔者亲测有效,按照下图设置后,重新编译文件在运行就可以正常启动服务了

下面还有俩种方法笔者还没有进行验证,并不能确保一定能奏效,但这里还是贴出来以作参考

方案二:添加JVM编译参数

原理是通过开放模块权限,允许你的代码访问内部 API

在 IDEA 中设置:File → Settings → Build → Compiler → Java Compiler

在 Additional command line parameters 中添加:

java 复制代码
--add-exports java.base/sun.net.util=ALL-UNNAMED

解决方案三:Maven项目配置

在pom.xml中配置maven-compiler-plugin:

XML 复制代码
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.11.0</version>
  <configuration>
    <release>17</release>
    <compilerArgs>
      <arg>--add-exports</arg>
      <arg>java.base/sun.net.util=ALL-UNNAMED</arg>
    </compilerArgs>
  </configuration>
</plugin>



本次的分享就到此为止了,希望我的分享能给您带来帮助,分享不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力! 如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步! 有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

相关推荐
弹简特7 小时前
【Java项目-企悦抽】13-奖品管理模块-奖品列表和创建奖品的实现
java·开发语言·网络·springboot
東隅已逝,桑榆非晚7 小时前
priority_queue的介绍和使用
c++·经验分享·笔记·学习
小蒜学长7 小时前
基于Spring Boot+Vue的“禾源”农产品销售系统设计与实现(代码+数据库+LW)
java·spring boot·后端·农产品销售系统·产品溯源
光年20007 小时前
Mock-Server开箱即用的Mock服务
java·maven·mock·jetty
弹简特7 小时前
【Java项目-企悦抽】14-活动管理模块01-创建活动的实现
java·开发语言·springboot
迅猛龙办公室7 小时前
Python实现求两个数字之和
java·开发语言·python
范桂飓7 小时前
AWS Agent Infra 架构分析
java·架构·aws
企业数字化笔记7 小时前
视频成片怎么稳定导出?编码选择、GPU/CPU降级与媒体交付验收
java·python·ffmpeg
Wx-bishekaifayuan8 小时前
springboot房屋租赁系统11574-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·sql·spring·课程设计
三8448 小时前
Fastjson 漏洞学习笔记 · 03 · 经典利用链:TemplatesImpl 与 JdbcRowSetImpl
java·web安全·fastjson