Maven 错误找不到符号的解决方法
作者:我是李超人 发布时间:2021-07-19 09:03:02
Maven 错误找不到符号问题,通常有三种原因:
1. 可能项目编码格式不统一。
2. 可能项目编码使用的JDK版本不统一。
3. pom依赖问题,这种依赖可能是没有添加包的依赖,如果是聚合项目可能是没有添加其他模块的依赖,或者是添加了其它模块的依赖,但是没有将依赖的模块打包到本地仓库等。
当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看。
如果是第一个问题:项目编码格式不统一
可以在pom.xml文件中加上这样的配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
将项目编码设置成UTF-8,但是要注意source和target版本,下面会说
如果是第二个问题:项目编码使用的JDK版本不统一
1、首先检车一下pom.xml文件设置的jdk版本,就是上面这几行代码中的encoding,source指明支持的jdk版本,target指明项目打包后的jdk版本。
2、查看项目本身的jdk版本,点击项目右键->build path->configure build path… ,然后设置项目的jdk版本。
3、再看看编译器的版本,通常这个版本都是默认与你项目设置的jdk版本一致,但是最好还是检查一下点击项目右键properties->java compiler
4、最后如果你是web项目,检查一下tomcat的版本,点击window->preferences->server->runtime environment
实际上检查版本主要还是前面两步,一个是pom.xml配置,一个是项目本身设置的jdk版本,最后两个实际上可以不用检查,编译版本通常都是和你项目本身设置的jdk版本默认一致,而tomcat的jdk版本设置不正确,出现的问题不会是符号错误。(第一次开发maven web项目时就是jdk设置得不正确,结果项目启动之后,打开浏览器登陆进去之后就是一些错误异常,当时使用的是jre,没有使用jdk,这里提醒大家做开发时最好使用jdk不要使用jre,有些项目在jre环境下是会出现问题的,而jdk中存在一些jre没有的开发工具)。
如果是第三种情况:Pom依赖问题
那就要仔细检查了,maven麻烦就麻烦在pom文件的配置,和它的一些依赖关系。最简单的情况就是你没有为相应的jar包配置依赖,这种情况只要在pom.xml中添加相应jar包依赖就可以了,如果是聚合项目的话可能是你这个项目依赖其它的项目,那就要在你这项目pom.xml中配置其它项目的依赖。同时在编译这个项目前,要将你依赖的其它项目打包到本地仓库,不然这个依赖是无效的。
maven 错误找不到符号这个问题,大体上就是上面几种情况,这篇文章只能提供一种参考,基于以上三种情况而衍生出来的其它情况也会导致错误找不到符号这个问题,这句需要大家伙自己慢慢查找了。
来源:https://blog.csdn.net/u012062455/article/details/52347099


猜你喜欢
- 最近有一个实现一个带有圆角的ImageView的需求,在网上找了找三方,虽然Demo都是正确的,但是移植过来就不可以了,因为请求链接的时候用
- 前提:集成开发环境(IDE):eclipsejdk版本:8.0File类的几个方法:1)isFile()测试此抽象路径名表示的文件是否为普通
- 这篇文章使用Java组件显示窗口,在通过输入的图片url地址在窗口中显示出来,可作为一个网络图片查看器,感兴趣的可以打包成jar或者.exe
- 本文实例讲述了Java基于Swing实现的打猎射击游戏代码。分享给大家供大家参考。具体实现代码如下:package Game;import
- 一、堆参数设置-XX:+PrintGC 使用这个参数,虚拟机启动后,只要遇到GC就会打印日志-XX:+UseSerialGC 配置串行回收器
- 一:日志:1、配置日志级别日志记录器(Logger)的行为是分等级的。如下表所示:分为:OFF、FATAL、ERROR、WARN、INFO、
- 框架的概述JDBC存在的问题:我们要想研究mybatis就必须知道jdbc所存在的问题,那我那么我们首先来复习一下jdbc操作数据库的大致流
- Kotlin基础教程之数据类型一切都是对象.在Kotlin中一切都是对象.Kotlin有一些基本类型Boolean,Byte,Shot,In
- c#数据绑定之将datatabel的data添加listView中,简要的通过代码应用了DataTable,DataTableColumns
- java.util.NoSuchElementException报错的行数是一个scnner的next,本来和老师讨论了半天没有什么头绪,错
- 什么是MybatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software fou
- Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3(.mp3)、3GPP(.3gp)、Ogg(.ogg)和WAVE(
- 本文为大家分享了Java实现班级管理系统的具体代码,供大家参考,具体内容如下需求:班级管理系统功能:对学生的信息进行管理1 登录系统 &nb
- Spring Security中也提供了默认的注销配置,在开发时也可以按照自己需求对注销进行个性化定制开启注销 默认开启package co
- 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。深刻认识Stri
- 一:引入依赖包<!-- https://mvnrepository.com/artifact/org.springframework.
- C# 中可以将类、结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可。1. 什么是局部类型?C# 2.0 引入
- 1. Spring Boot 入门 Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spri
- 一、静态静态的定时任务可以直接使用注解@Scheduled,并在启动类上配置@EnableScheduling即可@PostMapping(
- 单例模式是设计模式中最常见也最简单的一种设计模式,保证了在程序中只有一个实例存在并且能全局的访问到。比如在Android实际APP 开发中用