专栏首页大数据入坑指南Maven 错误找不到符号

Maven 错误找不到符号

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版本。
  1. 再看看编译器的版本,通常这个版本都是默认与你项目设置的jdk版本一致,但是最好还是检查一下点击项目右键properties->java compiler
  1. 最后如果你是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 错误找不到符号这个问题,大体上就是上面几种情况,这篇文章只能提供一种参考,基于以上三种情况而衍生出来的其它情况也会导致错误找不到符号这个问题,这句需要大家伙自己慢慢查找了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python自学成才之路 魔术方法之属性访问控制

    其中__getattr__只有在属性不存在时会被调用,__getattribute__无论属性是否存在都会被调用,item参数就是要访问的属性。

    我是李超人
  • zabbix_get安装和使用

    有时候会在zabbix下创建脚本,自定义监控项,在zabbix server上创建监控项前可以先使用zabbix_get来判断脚本是否正确。 在zabbix...

    我是李超人
  • 第四篇 CentOs7下安装Zabbix

    这篇文章是源码安装方式,yum安装方式请参照以下几篇文章 CentOs7下Zabbix安装教程——准备工作 CentOs7下Zabbix安装教程——z...

    我是李超人
  • GitHub 标星 1.6w+项目 HelloGitHub,让开发更简单的开源启蒙手册!

    如果你恰好是一个编程新手,并纠结于该如何开始 GitHub 开源项目的学习与研究,这本手册就恰恰能很好解决这一难题,它的最大亮点就在于 GitHub 入门。

    AI研习社
  • [剑指offer] 连续子数组的最大和

    HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候...

    尾尾部落
  • 偶然的一次渗透测试

    本来,我是在看一篇科普文章的,做着提到了safe3这个漏扫工具,我就向想试一下这个工具如何,利用google hacking找了一个php的站,扫描完提示有可能...

    tnt阿信
  • 【R语言入门】R语言环境搭建

    R 语言是一个功能十分强大的工具,几乎绝大多数的数据分析工作都可以在 R 中完成,并且拥有很极强的绘图功能支持,能让你手中的数据以各种姿势进行可视化呈现,而且支...

    弗兰克的猫
  • plot绘图填充(2)

    万木逢春
  • python matplotlib.pyplot.plot()参数用法

    默认情况下,每个行被指定一个由“颜色周期”指定的不同颜色。要改变这种行为,可以编辑axes.color_cycle中的rcparam。

    砸漏
  • Python 3.7.0 版本正式发布,新特性来袭

    Python 3.7.0版本已经于美国时间2018年6月27日发布,同时发布的也有Python 3.6.6版本,下面是来自Python官网的通知:

    Python中文社区

扫码关注云+社区

领取腾讯云代金券