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中的分页依赖,
要么就两个版本都一样。
风神

浙公网安备 33010602011771号