朱亮亮

Stay Hungry, Stay Foolish.

0%

SpringBoot pom 依赖

我们在开发一个 SpringBoot 项目的时候,首先要添加如下父依赖,例如:

1
2
3
4
5
6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

按住 Ctrl/Command键 + 鼠标左键,我们可以看到这个 pom.xml 里面主要包含 resource 配置,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/application*.yml</include>
<include>**/application*.yaml</include>
<include>**/application*.properties</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/application*.yml</exclude>
<exclude>**/application*.yaml</exclude>
<exclude>**/application*.properties</exclude>
</excludes>
</resource>
</resources>

其中第一个 resource 表示 application*. 文档需要被过滤,第二个 resource 表示除了 application*.外,其它的文档都不过滤。有了这个配置,我们就可以使用 filters 标签来做属性替换,打包不同的环境。因此,我们变下的 application*.,是不需要单独引入的。

此外,我们还可以看到这样一段配置:

1
2
3
4
5
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.6</version>
</parent>

同样我们在点进去,发现主要是定义了依赖及其版本号。

1
2
3
4
5
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-log4j-appender</artifactId>
<version>${activemq.version}</version>
</dependency>

也就是说,我们通过在 pom.xml中引入 springboot parent,继承了 SpringBoot 的核心依赖。我们在引入一些依赖的时候,就不需要指定版本号了。