spring-boot

What's the idiomatic way to build an uberjar with Spring Boot 3.5.x?


I'm upgrading an app that used Spring Boot 3.4.x to 3.5.x. In the release notes, it says that the spring-boot-parent project has been removed. One thing that this parent pom provided was the building of an "uberjar", i.e., a single jar file containing my app and its dependencies, when running mvn package. After removing the parent pom and replacing the versioning with org.springframework.bootspring-boot-dependencies:3.5.0, this won't happen anymore.

When using Spring Boot 3.5.x, what's the idiomatic way to retain this functionality from 3.4.x?


Solution

  • You are confusing, I think, the spring-boot-parent with the spring-boot-starter-parent. The latter is still there and which you should have been using in the first place.

    So this

    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent<artifactId>
      <version>3.5.0</version>
    </parent>
    

    I still valid.