Maven因版本冲突而导致的“NoSuchMethod”

资料:

(1)Maven 错误找不到符号:

https://blog.csdn.net/u012062455/article/details/52347099

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

 

Maven因版本冲突而导致的“NoSuchMethod”

假如有两个pom文件,

一个是parent项目pom,包含:

<!-- 集中定义依赖版本号 -->
<properties>
       <pagehelper.version>3.4.2</pagehelper.version>
</properties>

<dependencyManagement>
       <dependencies>
              <!-- 分页助手 -->
              <dependency>
                  <groupId>com.github.pagehelper</groupId>
                  <artifactId>pagehelper</artifactId>
                  <version>${pagehelper.version}</version>
              </dependency>
        </dependencies>
</dependencyManagement>

一个是模块pom,包含:

<!-- 分页助手 -->
<dependency>
     <groupId>com.github.pagehelper</groupId>
     <artifactId>pagehelper</artifactId>
     <version>4.0.0</version>
</dependency>

则启动war应用的时候,

(1)加载jar包:会优先根据war应用的模块pom定义的版本   4.0.0  来加载,

(2)查找jar包:会优先根据parent项目pom定义的版本   3.4.2  来查找。

结果就是查找到版本   3.4.2  对应的jar包 根本就   没有加载到项目里,自然的,也就找不到方法了:“NoSuchMethod”。

解决办法:

要么删掉项目pom中的分页依赖,

要么删掉模块pom中的分页依赖,

要么就两个版本都一样。

posted @ 2018-07-30 15:01  吴桂鑫  阅读(416)  评论(1)    收藏  举报