-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathpom.xml
256 lines (235 loc) · 9.7 KB
/
pom.xml
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
<?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.cpq</groupId>
<artifactId>java-learn</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<!--配置属性,可通过 ${标签名} 来获取值-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>4.12</junit.version>
<spring.version>5.0.1.RELEASE</spring.version>
<quartz.scheduler.version>2.3.0</quartz.scheduler.version>
</properties>
<!-- dependencyManagement只是声明依赖,不实现引入,要子模块手动引入。
子模块引入dependencyManagement的依赖时,子模块建议不写version,
由dependencyManagement统一管理version -->
<dependencyManagement>
<dependencies>
</dependencies>
</dependencyManagement>
<!--默认所有子模块继承-->
<dependencies>
<!--公共配置-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<!--日志使用slf4j-log4j12,加载log4j.properties需要用到log4j-web提供的监听器-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.9.1</version>
</dependency>
<!--commons包-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
<exclusions>
<exclusion>
<!--与项目中引入的commons-io2.6冲突,排除commons-fileupload自身依赖的commons-io,保留高版本的2.6-->
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
<!--dom4j-->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
<!-- spring start -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring-webmvc包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类,spring-webmvc.jar依赖spring-aop、spring-beans、spring-context、spring-core、spring-expression、spring-web、-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--orm已经包含依赖spring-jdbc、spring-tx-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring end-->
<!--servlet层配置-->
<!--provided表示容器会提供此jar包,比方说tomcat就是容器,tomcat中有servlet-api的jar包。但还是要手动引入,因为编译阶段没有此jar包。pom.xml中配置的servlet-api最好和tomcat/lib中提供的相同,mvnrepository仓库上的写法有问题,不要用alpha内测版本-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!--springmvc返回json数据给前台需要用到,添加jackson-databind会自动添加其依赖jackson-annotation、jackson-core-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
<!--数据库、dao层配置-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.8-dmr</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
<build>
<!--pluginManagement的配置可被直接应用到子模块,子模块不需要再配置。本模块需要此插件也需要在plugins导入,但是不用写版本-->
<!--<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<!–java版本–>
<source>1.8</source>
<target>1.8</target>
<!–指定Java源文件编码为UTF-8–>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>-->
<!--直接写在plugins中可以本模块以及子模块使用-->
<plugins>
<plugin> <!--指定maven编译级别,这个插件可以被编译器识别,从而使编译器改变对本项目的编译级别-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source> <!--java版本-->
<target>1.8</target> <!--java版本-->
<encoding>UTF-8</encoding> <!--指定Java源文件编码为UTF-8-->
</configuration>
</plugin>
<!--配置mybatis-generator-maven-plugin,maven插件使用方法:
新建maven命令,取名为 mybatis-generator
Working directory:填写使用本插件的项目根路径,如:E:/workspace/learnjava/webwhole
Command line: mybatis-generator:generate -e
具体的command line可通过Maven Project窗口,点击展开相应插件查看
配置:http://www.mybatis.org/generator/running/runningWithMaven.html-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<verbose>false</verbose> <!--取消注释-->
<overwrite>true</overwrite> <!--新的逆向文件覆盖旧的逆向文件-->
<configurationFile>${basedir}/src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
<!--${basedir}项目根目录,是配置maven命令时填写的Working directory,-->
</configuration>
<!--为本插件添加驱动,本插件会自动下载mybatis-generator、mybatis-generator-core但是去不会下载mysql的驱动包-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--只有使用5.X版本的mysql驱动才可以生成primary key 方法-->
<version>5.1.44</version>
</dependency>
</dependencies>
</plugin>
<!--配置jettry插件:
1、新建maven 的configuration
2、Working directory设置为 E:/workspace/java-learn/web-whole
3、Command line设置为 jetty:run-->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.8.v20171121</version>
<!--<configuration>
<!–热启动配置,需要make后才起效果,新增方法无效,、
需要使用jrebel启动,改动代码后同样要make,新增方法能实现热部署。在jrebel面板中不勾选Enable也可以。
总的来说就是使用jrebel启动,修改代码后make。–>
<scanIntervalSeconds>1</scanIntervalSeconds>
<reload>manual</reload>
<!–修改端口号–>
<httpConnector>
<port>8080</port>
</httpConnector>
</configuration>-->
</plugin>
</plugins>
</build>
<!--管理module,编译本项目时,会编译modules中的项目-->
<modules>
<module>note</module>
</modules>
</project>