文章目录 一、报错如图二、自己当前项目背景描述:三、排错方案举例方案1:考虑Project Structure设置中Project中jdk版本是否对,确保所有子模块改为jdk1.8就好了方案2:考虑设置中java编码方式中各个子模
报错如图:
自己当前项目描述:我们的项目要求必须使用jdk1.8才能运行,其他版本均会启动失败,且打包报错xx符号找不到。
当报错找不到符号的时候考虑如下几种情况:
最最最容易忽视的一点
)检查mvn引入jdk版本前提背景已经说了,我的项目必须跑在jdk1.8才行,这个找不到的符号只有在jdk1.8才有,之后的jdk版本就删除了。
在此基础上我们排查5个方案且都不好使的情况下,排查了IDAE的设置等等发现都没有问题,那么我们最该排查的一点就是mvn究竟引入了哪个版本的jdk。
问题:你可能会问为啥需要
排查mvn
?
答案:因为实际项目场景肯定是多环境、多jdk版本的
,A项目使用jdk8,B项目使用jdk11,完全可能存在,而且maven可能也是多个环境的,因此需要排查。
命令:mvn -v
问题:我当时第一次排查是发现引入结果是jdk11版本,而不是8版本,为什么?为啥引入的是11版本?
答案:因为你配置了环境变量,把JAVA_HOME为11版本的配置进path中了。这就是最终原因所在
,因为你配置了jdk环境变量所以报错。因为一旦配置环境变量,maven在加载时自动优先高级别加载环境变量中的jdk版本,从而导致类无法找到。
接下来就是修改方案:
我们只需找到该项目所使用maven是哪个版本,找到该文件夹F:\apache-maven-3.6.3\bin
中mvn.cmd
配置脚本补充导致哪个jdk版本就可以了,具体如图
来源地址:https://blog.csdn.net/a924382407/article/details/129766998
--结束END--
本文标题: java: 找不到符号 报错
本文链接: https://lsjlt.com/news/374050.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0