Jar依赖于Spring Framework,但是要包括哪个版本?

时间:2018-06-25 01:46:49

标签: java spring maven spring-boot

我有一个使用Spring Framework构建的库。它使用@RestController并使用spring-boot-starter-test包进行测试。

该库 meant 可以在Spring MVC(可能是Spring Boot)内部运行。

对我来说,最简单的方法是在我的POM中指定Spring Boot入门家长:

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

但是,我不知道使用我的库的项目是使用Spring Boot 2.x还是Spring Boot 1.x。

那我该怎么办?即使我删除了parent标记并开始尝试寻找所有我需要重新编译库的依赖项,我也不会遇到同样的问题,即Spring Framework 4.x vs Spring Framework 5.x?

我可以在POM.xml中做什么,以确保在将我的库打包为jar时,该jar能够在可以使用Spring Framework 4或5(以及类似Spring的项目)中使用是Boot 1.x还是Spring Boot 2.x)?

1 个答案:

答案 0 :(得分:0)

您可以将版本指定为变量,例如

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>${version.spring-boot}</version>
</parent>

因此,当他们使用您的库时,必须将其设置为类似变量,

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <version.spring-boot>1.5.9.RELEASE</version.spring-boot>
    <version.spring-cloud>Edgware.SR2</version.spring-cloud>
</properties>