maven依赖的version声明控制方式

2022-01-18 15:00:30
目录
maven依赖的version声明控制下面以springcloud的注册中心模块举例maven设置依赖version属性1、加入profiles2、version处用${name}替代

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>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易采站长站。