我遇到的是第三种情况:
Maven 错误找不到符号问题,通常有三种原因:
之前发布项目,一直不知道为什么我发布的项目里缺少core,core-utils的jar包,在这篇文章里找到了答案,聚合项目每次maven clean之后,要将依赖的其他项目打包,并在本项目中点击pom文件,重新添加依赖的其他项目的jar包,然后maven install就成功。看看你的target下编译的项目下,已经有了你需要的其他项目的jar包,(比如我在pc中需要的core,core-utils都有了)
总结:
之前不知道聚合项目要这样操作,只知道少jar包,都是手动添加的,这次终于找到了解决这个问题的正解。
参考:
Maven 错误找不到符号问题,通常有三种原因:
1. 可能项目编码格式不统一。
2. 可能项目编码使用的JDK版本不统一。
3. pom依赖问题,这种依赖可能是没有添加包的依赖,如果是聚合项目可能是没有添加其他模块的依赖,或者是添加了其它模块的依赖,但是没有将依赖的模块打包到本地仓库等。
当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看。
如果是第一个问题:项目编码格式不统一
可以在pom.xml文件中加上这样的配置
1.
2.
<groupId>org.apache.maven.plugins </groupId>
3.
<artifactId>maven-compiler-plugin </artifactId>
4.
<version>3.3 </version>
5.
<configuration>
6.
<source>1.7 </source>
7.
<target>1.7 </target>
8.
<encoding>UTF-8 </encoding>
9.
</configuration>
10.
</plugin>
将项目编码设置成UTF-8,但是要注意source和target版本,下面会说
如果是第二个问题:项目编码使用的JDK版本不统一
- 首先检车一下pom.xml文件设置的jdk版本,就是上面这几行代码中的encoding,source指明支持的jdk版本,target指明项目打包后的jdk版本。
- 查看项目本身的jdk版本,点击项目右键->build path->configure build path… ,然后设置项目的jdk版本。
- 再看看编译器的版本,通常这个版本都是默认与你项目设置的jdk版本一致,但是最好还是检查一下点击项目右键properties->java compiler
- 最后如果你是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 错误找不到符号这个问题,大体上就是上面几种情况,这篇文章只能提供一种参考,基于以上三种情况而衍生出来的其它情况也会导致错误找不到符号这个问题,这句需要大家伙自己慢慢查找了。
Maven 错误找不到符号问题,通常有三种原因:
1. 可能项目编码格式不统一。
2. 可能项目编码使用的JDK版本不统一。
3. pom依赖问题,这种依赖可能是没有添加包的依赖,如果是聚合项目可能是没有添加其他模块的依赖,或者是添加了其它模块的依赖,但是没有将依赖的模块打包到本地仓库等。
当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看。
如果是第一个问题:项目编码格式不统一
可以在pom.xml文件中加上这样的配置
1.
2.
<groupId>org.apache.maven.plugins </groupId>
3.
<artifactId>maven-compiler-plugin </artifactId>
4.
<version>3.3 </version>
5.
<configuration>
6.
<source>1.7 </source>
7.
<target>1.7 </target>
8.
<encoding>UTF-8 </encoding>
9.
</configuration>
10.
</plugin>
将项目编码设置成UTF-8,但是要注意source和target版本,下面会说
如果是第二个问题:项目编码使用的JDK版本不统一
- 首先检车一下pom.xml文件设置的jdk版本,就是上面这几行代码中的encoding,source指明支持的jdk版本,target指明项目打包后的jdk版本。
- 查看项目本身的jdk版本,点击项目右键->build path->configure build path… ,然后设置项目的jdk版本。
- 再看看编译器的版本,通常这个版本都是默认与你项目设置的jdk版本一致,但是最好还是检查一下点击项目右键properties->java compiler
- 最后如果你是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 错误找不到符号这个问题,大体上就是上面几种情况,这篇文章只能提供一种参考,基于以上三种情况而衍生出来的其它情况也会导致错误找不到符号这个问题,这句需要大家伙自己慢慢查找了。