Search code examples
javamavenversion-control

Issues with version management in maven


The problem I encountered is this, here is the definition in my POM file.\

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>2.0.0.RELEASE</version>
    </dependency>

In this dependency, It's having a sub-dependency which is starter-tomcat

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.0.0.RELEASE</version>
      <scope>compile</scope>
    </dependency>

But In my maven tree

[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.0.0.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.3.6.RELEASE:compile

By the way this project have a parent, In parent There is a 2.3.6 starter-webdependency.
I want to know why the sub-dependency starter-tomcat in the web-starter I referenced 2.0.0 is not the 2.0.0 I see, but 2.3.6 in the parent dependency.


Solution

  • I got it. There are two ways to solve this question

    1. exclude your sub-dependency and add a new version dependency.
    2. use to control this denpendency