工具篇主要是讲 Spring Boot CLI 和构建工具 maven, gradle 这些。
构建工具
在 maven 和 gradle 中,查看依赖包的方法为:
$ gradle dependencies
$ mvn dependency:tree
命令详情
使用 spring boot 插件来启动 spring boot 项目
$ gradle bootRun
$ mvn spring-boot:run
构建项目
$ gradle build
$ mvn package
构建成功后,会将打好的 jar 包存放在指定目录。
gradle 放在 ../build/libs
maven 放在 ../target
去掉指定依赖
另外在这类构建工具中,可以覆盖 起步依赖 引入的传递依赖:
比如,将 web starter 中的 jackson 去掉:
gradle
implementation('org.springframework.boot:spring-boot-starter-web') { <- 注意加上括号
exclude group: 'com.fasterxml.jackson.core'
}
maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
</exclusion>
</exclusions>
</dependency>
另一方面,如果想指定特定的版本,比如 使用 2.3.4 版本的 jackson,在构建工具中也可以实现。
在 Maven 中,只需要加入 jackson 的版本号就行了。因为 Maven 总是会使用最近的依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.3</version>
</dependency>
但是在 Gradle 中不一样。因为 Gradle 倾向于使用库的最新版本。所以想要使用老版本的 jackson,必须先去掉新版本才行:
implementation('org.springframework.boot:spring-boot-starter-web') { <- 注意加上括号
exclude group: 'com.fasterxml.jackson.core'
}
implementation 'com.fasterxml.jackson.core:2.3.1'