-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpom.xml
More file actions
152 lines (130 loc) · 7.06 KB
/
Copy pathpom.xml
File metadata and controls
152 lines (130 loc) · 7.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>SpringCompleteStudyNotes</artifactId>
<name>SpringBoot学习笔记完整教程</name>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!--
1、指定自己module的名字 <name> (父module可不用)
2、指向父module名字 <parent> ,这里就暂时把这里最外层作为父module
2.1、如果自己是父module, 将其他所有工程module都导入进来, 自己的父module就是spingBootStarterParent
3、导入依赖 <dependencies>:
3.1、如果依赖过多, 可以使用<properties>来统一管理依赖版本version
3.2、导入其他需要用到的module依赖, common、mgb(这里还是需要加一些其他的包)
3.2.1 springboot:
-starter-web、-starter-actuator、-starter-aop、-starter-test
3.2.2 github的pageHelper插件
3.2.3 阿里的数据源druid
note: 这里的dependencies都会被子类直接继承(子类无需再声明)
answer: 这里的依赖都未指定版本version
4、导入依赖 <dependencyManagement>:
4.1、与dependencies的区别: denpendencies依赖会被子类继承, 无论子module是否导入其中依赖
dependencyManagement依赖只是声明依赖,并不实现引入,因此子module需显示的声明
需要用的依赖。不声明就不会从父module继承下来,只有子module写了依赖,没有写version
才会从父module继承依赖,且version和scope都读取父module的依赖,子类指定version就
直接用子module的依赖
4.2、好处:统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,才能保证测试的和发布的是相同的成果,
因此,在顶层pom中定义共同的依赖关系。同时可以避免在每个使用的子项目中都声明一个版本号,这样想
升级或者切换到另一个版本时,只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目
需要另外一个版本号时,只需要在dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,
不继承于父类版本号。
4、3 导入其他子module需要用到的module依赖, common、mgb这些通用的并控制版本
以及其他的子类需要使用的依赖:pagehelper、druid、hutool、swagger2、mybatis、generator、mysql、SpringData
JWT、阿里云OSS、logback、minio
将依赖统一管理
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<modules>
<module>Spring_boot_test</module>
<module>Spring_Boot_JSP</module>
</modules>
<!-- 版本控制 -->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<skipTests>true</skipTests>
<swagger2.version>2.7.0</swagger2.version>
<mysql-connector.version>8.0.32</mysql-connector.version>
<spring-data-commons.version>2.1.5.RELEASE</spring-data-commons.version>
<fastjson.version>2.0.25</fastjson.version>
<spring-boot-starter-thymeleaf.version>1.3.3.RELEASE</spring-boot-starter-thymeleaf.version>
<spring-boot-starter-freemarker.version>1.3.3.RELEASE</spring-boot-starter-freemarker.version>
<spring-boot-starter-data-jpa.version>1.3.3.RELEASE</spring-boot-starter-data-jpa.version>
</properties>
<dependencies>
<!--web程序-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- 剔除logging -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- Swagger-UI API文档生产工具-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<!-- Mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector.version}</version>
</dependency>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>${spring-boot-starter-thymeleaf.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
<version>${spring-boot-starter-freemarker.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${spring-boot-starter-data-jpa.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>