返回顶部
首页 > 资讯 > 后端开发 > JAVA >java: 找不到符号 报错
  • 165
分享到

java: 找不到符号 报错

摘要

文章目录 一、报错如图二、自己当前项目背景描述:三、排错方案举例方案1:考虑Project Structure设置中Project中jdk版本是否对,确保所有子模块改为jdk1.8就好了方案2:考虑设置中java编码方式中各个子模

在这里插入图片描述

一、报错如图

报错如图:

在这里插入图片描述

二、自己当前项目背景描述:

自己当前项目描述:我们的项目要求必须使用jdk1.8才能运行,其他版本均会启动失败,且打包报错xx符号找不到。

三、排错方案举例

当报错找不到符号的时候考虑如下几种情况:

方案1:考虑Project Structure设置中Project中jdk版本是否对,确保所有子模块改为jdk1.8就好了

在这里插入图片描述

方案2:考虑设置中java编码方式中各个子模块版本是否为1.8,确保检查了所有的子模块都设置对才行。

在这里插入图片描述

方案3:考虑考Project Structure设置中SKDS中jdk版本是否对,确保右侧加载的就是8版本的而不是11版本的

在这里插入图片描述

方案4:考虑Project Structure设置中Modules中jdk版本是否对

在这里插入图片描述

方案5:接下来考虑打包引入方面,我的项目是多模块项目,避免不了会相互依赖,有没有可能是报错的类所在的模块下没有引入类成功呢

  • 比如我的项目多模块如图:
    在这里插入图片描述
  • 首先找到你报错所在的模块,假如是ems模块,先尝试点击report,重新导入依赖,比如如图,然后触发打包验证是否已经正常无报错。
    在这里插入图片描述
  • 如果不好使,重新构建项目再触发清除包和打包操作,重构点击这里,然后触发打包验证是否已经正常无报错。
    在这里插入图片描述
  • 然后在Maven中找到你的模块先点击clearn清除打包,然后再触发【install | package】重新打包到本地(这里点击package或者install都可以,效果相同,顶多是命令作用不同而已),验证是否正常。
    在这里插入图片描述

方案6:(最最最容易忽视的一点)检查mvn引入jdk版本

前提背景已经说了,我的项目必须跑在jdk1.8才行,这个找不到的符号只有在jdk1.8才有,之后的jdk版本就删除了。
在此基础上我们排查5个方案且都不好使的情况下,排查了IDAE的设置等等发现都没有问题,那么我们最该排查的一点就是mvn究竟引入了哪个版本的jdk。

问题:你可能会问为啥需要排查mvn

答案:因为实际项目场景肯定是多环境、多jdk版本的,A项目使用jdk8,B项目使用jdk11,完全可能存在,而且maven可能也是多个环境的,因此需要排查。

  • 首先我们排查自己电脑究竟安装了几个jdk版本:经查看,我自己电脑安装了2个版本,分别是8和11
    在这里插入图片描述
  • 接下来排查mvn究竟引入了哪个jdk版本,在CMD窗口或者idea中执行命令查看,结果如图:
命令:mvn -v

在这里插入图片描述

问题:我当时第一次排查是发现引入结果是jdk11版本,而不是8版本,为什么?为啥引入的是11版本?

答案:因为你配置了环境变量,把JAVA_HOME为11版本的配置进path中了。这就是最终原因所在,因为你配置了jdk环境变量所以报错。因为一旦配置环境变量,maven在加载时自动优先高级别加载环境变量中的jdk版本,从而导致类无法找到。

接下来就是修改方案:我们只需找到该项目所使用maven是哪个版本,找到该文件夹F:\apache-maven-3.6.3\binmvn.cmd配置脚本补充导致哪个jdk版本就可以了,具体如图

  1. 第一步找到maven所在的文件夹,找到脚本
    在这里插入图片描述
  2. 第二步在其中加入jdk所在的目录,只要配置了,当前maven版本文件加载时就只会加载jdk8版本,引入位置最好写在最前面左右位置。
    在这里插入图片描述
  3. 第三步再次执行命令查看是否修改成功

在这里插入图片描述

来源地址:https://blog.csdn.net/a924382407/article/details/129766998

--结束END--

本文标题: java: 找不到符号 报错

本文链接: https://lsjlt.com/news/374050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作