Error:(16, 42) java: package com.sun.org.apache.regexp.internal does not exist

19 篇文章 0 订阅

刚接手公司的一个老项目,用的是比较老的框架(SSM),这怎么可能会慌,毕竟大学期间就是用的 SSM,然后通过 IDEA 添加完 Tomcat,然后开始跑,结果就尴尬了。。。 直接报错:

Error:(16, 42) java: package com.sun.org.apache.regexp.internal does not exist

在这里插入图片描述
凭借敏锐的眼光发现,这肯定是 JDK 版本的问题,毕竟是 com.sun 的包。然后问了问同事 JDK 的版本,他的是 jdk1.8.0_212,他的目录里面竟然有 com.sun.org.apache.regexp 这个包。

而自己的是 jdk1.8.0_251,显然高了好几个版本,没有相应的包结构。 然后我就老老实实去 Oracle 官网下载 JDK,网速可是真慢,最后从 Github 上找了别人上传的,然后重新配置 JAVA_HOME 指向 jdk1.8.0_212 ,启动收工。

【补充】虽然能用了,但是也了解了一下 com.sun.*

  • sun.* 主要用于早期的 Java API,一些老项目中还在用;
  • 现在的话大多数的 sun.* API 都已经被删除,并升级为 Oracle 官方的 javax.* 或重命名为 com.sun.*
  • 在使用 com.sun.* 的时候有个原则:不要使用 JDK 内部 或 标记为 弃用/删除API ,因为内部的 API 是不稳定的,会随意进行改动而不另行通知,除非特殊情况,一般不推荐程序中使用 com.sun.*sun.* 中的类。

【建议】能用第三放开源的包就用,少踩 Sun 包下面的坑,毕竟头发还想要呀。

jdk1.8.0_212 Github 下载地址:jdk1.8.0_212 全平台下载

Roc’s Blog

评论 1 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:黑客帝国 设计师:我叫白小胖 返回首页

打赏作者

Roc.Chang

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值