解决maven多工程项目"找不到符号"问题

最近在做一个微服务的项目,一共多十多个maven项目,今天想把其中一个服务打成jar包,但是run as mvn clean install之后,出现了如下图的错误:
这里写图片描述
通常来说有一下三个原因:
1. 可能项目编码格式不统一。
2. 可能项目编码使用的JDK版本不统一。
3. pom依赖问题,这种依赖可能是没有添加包的依赖,如果是聚合项目可能是没有添加其他模块的依赖,或者是添加了其它模块的依赖,但是没有将依赖的模块打包到本地仓库等。

当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看。

如果是第一个问题:项目编码格式不统一
可以在pom.xml文件中加上这样的配置
这里写图片描述

将项目编码设置成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

实际上检查版本主要还是前面两步,一个是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中配置其它项目的依赖。同时在编译这个项目前,要将你依赖的其它项目打包到本地仓库,不然这个依赖是无效的。
我的问题就是因为依赖的包没有在本地仓库中,或者说本地仓库的包不是最新本版,导致最近新增的一些代码识别不到,然后我就把这个项目所有依赖的jar包重新mvn clean install了一下,感觉有点麻烦(到现在我还没有搞清楚为什么代码编译之后为什么本地仓库的jar包没有替换,不知道和这个项目maven私服已经失效有没有关系,希望了解的大神来指导一下),不管怎样,问题是解决了,还是很开心的。
这里写图片描述

maven 错误找不到符号这个问题,大体上就是上面几种情况,这篇文章只能提供一种参考,基于以上三种情况而衍生出来的其它情况也会导致错误找不到符号这个问题,这句需要大家伙自己慢慢查找了。

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于 Maven 打包过程中出现的 "不到符号" 错误,可能有多种原因和解决办法。以下是一些常见的解决办法: 1. 依赖未正确导入:请确保你的 pom.xml 文件中的依赖项正确导入,并且使用的版本号是有效的。你可以尝试运行 `mvn clean install` 命令清理并重新安装依赖。 2. 依赖冲突:如果你的项目中存在多个版本的相同依赖,可能会导致不到符号的错误。在 pom.xml 文件中检查依赖项,并解决任何冲突。 3. 编译错误:如果你的代码中存在编译错误,可能会导致不到符号的错误。请确保你的代码没有语法错误,并尝试修复任何编译错误。 4. 重新生成项目:有时候项目文件可能会损坏,导致编译错误。你可以尝试删除目标文件夹(一般是 target 文件夹)并重新生成项目。 5. 检查类路径:确保你的项目配置正确,并且类路径正确设置。你可以检查 pom.xml 文件或 IDE 中的构建路径设置。 6. 检查依赖库:如果你使用了自定义的依赖库,可能需要手动将其导入到项目中。确保库文件存在,并正确配置在构建路径中。 7. 更新 Maven 插件:如果你使用的是旧版的 Maven 插件,可能会导致一些问题。请尝试更新 Maven 插件到最新版本,并重新构建项目。 如果以上方法仍然不能解决问题,建议提供更多的错误信息和项目配置细节,以便更具体地帮助你解决问题

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值