maven依赖的version声明控制方式
作者:勤奋的Mr.Li
这篇文章主要介绍了maven依赖的version声明控制方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
maven依赖的version声明控制
在写新的springcloud项目时
启动报错Correct the classpath of your application so that it contains a single, compatible version of ........
大意是确保jar包的版本兼容且唯一.
为什么会出现这种情况呢?因为父模块声明了某个jar包的版本,子模块导入时不应再声明version,不然会冲突.当然,一般人也不会傻傻地再声明版本,复杂的情况是:父模块声明的jar包内部包含的某个jar包被子模块导入,但子模块不知道父模块包含此jar包,才会再次声明version.
下面以springcloud的注册中心模块举例
父模块le,注册中心模块le-registry,解释全在图上:
maven设置依赖version属性
在pom.xml文件中:
1、加入profiles
<profiles> <profile> <activation> <property> <name>spring.version</name> <value>4.0.0.RELEASE</value> </property> </activation> </profile> </profiles>
2、version处用${name}替代
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。