pom.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <!-- 指定pom版本,所有模块的pom均需指定 -->
  6. <modelVersion>4.0.0</modelVersion>
  7. <!-- 本模块的坐标 -->
  8. <groupId>com.killua</groupId>
  9. <artifactId>gwz-parent</artifactId>
  10. <version>1.0-SNAPSHOT</version>
  11. <!-- 打包类型,默认为jar,含有子模块的模块自动被设置为pom -->
  12. <packaging>pom</packaging>
  13. <!-- 被聚合的子模块索引 -->
  14. <modules>
  15. <module>gwz-common</module>
  16. <module>gwz-plugin</module>
  17. <module>gwz-blog</module>
  18. <module>gwz-web</module>
  19. </modules>
  20. <!-- 更多模块信息,填写模块的描述还有作者信息什么的 -->
  21. <name>瓜娃子项目</name>
  22. <description>自行搭建学习</description>
  23. <developers>
  24. <developer>
  25. <name>dzdy</name>
  26. </developer>
  27. </developers>
  28. <!-- 这里集中定义整个项目里边所有第三方依赖的版本及其他可作用于所有pom的常量 -->
  29. <properties>
  30. <!-- 指定编码方式,maven3以上可以直接识别,低版本需在build节点声明一个<encode>${project.build.sourceEncoding}</encode> -->
  31. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  32. <!-- 指定源代码和编译代码的java版本 -->
  33. <maven.compiler.source>1.8</maven.compiler.source>
  34. <maven.compiler.target>1.8</maven.compiler.target>
  35. <!-- spring版本号 -->
  36. <spring.version>4.3.6.RELEASE</spring.version>
  37. <!-- aspectj版本号 -->
  38. <aspectj-version>1.8.9</aspectj-version>
  39. <!-- mybatis版本号 -->
  40. <mybatis.version>3.4.2</mybatis.version>
  41. <mybatis-spring.version>1.3.1</mybatis-spring.version>
  42. <!-- mysql-connector(数据库驱动)版本号 -->
  43. <mysql.version>5.1.40</mysql.version>
  44. <!-- druid(连接池)版本号 -->
  45. <druid.version>1.0.28</druid.version>
  46. <!-- junit(测试)版本号 -->
  47. <junit.version>4.11</junit.version>
  48. <!-- 日志版本号 -->
  49. <slf4j.version>1.7.21</slf4j.version>
  50. <log4j.version>1.2.17</log4j.version>
  51. <!-- JSP相关版本号 -->
  52. <jstl.version>1.2</jstl.version>
  53. <servlet-api.version>2.5</servlet-api.version>
  54. <jsp-api.version>2.0</jsp-api.version>
  55. <!-- 其他 -->
  56. <fastjson.version>1.2.29</fastjson.version>
  57. <guava.version>21.0</guava.version>
  58. </properties>
  59. <!-- 这里集中陈列整个项目需要用到的第三方依赖及其版本 -->
  60. <dependencyManagement>
  61. <dependencies>
  62. <!-- ##### Spring核心包 ##### -->
  63. <!-- Spring核心工具包 -->
  64. <dependency>
  65. <groupId>org.springframework</groupId>
  66. <artifactId>spring-core</artifactId>
  67. <version>${spring.version}</version>
  68. <exclusions>
  69. <!-- Spring官方建议不要用这个 -->
  70. <exclusion>
  71. <groupId>commons-logging</groupId>
  72. <artifactId>commons-logging</artifactId>
  73. </exclusion>
  74. </exclusions>
  75. </dependency>
  76. <!-- 负责Bean管理,是Spring的IoC和DI的实现包 -->
  77. <dependency>
  78. <groupId>org.springframework</groupId>
  79. <artifactId>spring-beans</artifactId>
  80. <version>${spring.version}</version>
  81. </dependency>
  82. <!-- Spring的运行时环境 -->
  83. <dependency>
  84. <groupId>org.springframework</groupId>
  85. <artifactId>spring-context</artifactId>
  86. <version>${spring.version}</version>
  87. </dependency>
  88. <!-- Spring对第三方的支持包,包括缓存/邮件/任务调度/模板引擎等 -->
  89. <dependency>
  90. <groupId>org.springframework</groupId>
  91. <artifactId>spring-context-support</artifactId>
  92. <version>${spring.version}</version>
  93. </dependency>
  94. <!-- ##### Spring AOP ##### -->
  95. <!-- 负责为Spring bean实现切面编程(对普通bean/final修饰的类无效,我们也用不上) -->
  96. <dependency>
  97. <groupId>org.springframework</groupId>
  98. <artifactId>spring-aop</artifactId>
  99. <version>${spring.version}</version>
  100. </dependency>
  101. <!-- Spring对AspectJ框架的支持包 -->
  102. <dependency>
  103. <groupId>org.springframework</groupId>
  104. <artifactId>spring-aspects</artifactId>
  105. <version>${spring.version}</version>
  106. </dependency>
  107. <!-- ##### Spring web #####-->
  108. <!-- Spring的mvc框架 -->
  109. <dependency>
  110. <groupId>org.springframework</groupId>
  111. <artifactId>spring-webmvc</artifactId>
  112. <version>${spring.version}</version>
  113. </dependency>
  114. <!-- Spring的web增强实现 -->
  115. <dependency>
  116. <groupId>org.springframework</groupId>
  117. <artifactId>spring-web</artifactId>
  118. <version>${spring.version}</version>
  119. </dependency>
  120. <!-- ##### Test ##### -->
  121. <!-- Spring的test支持组件,可以为诸如JUnit框架提供Spring的上下文环境 -->
  122. <dependency>
  123. <groupId>org.springframework</groupId>
  124. <artifactId>spring-test</artifactId>
  125. <version>${spring.version}</version>
  126. <scope>test</scope>
  127. </dependency>
  128. <!-- JUnit测试框架 -->
  129. <dependency>
  130. <groupId>junit</groupId>
  131. <artifactId>junit</artifactId>
  132. <version>${junit.version}</version>
  133. <scope>test</scope>
  134. </dependency>
  135. <!-- ##### Spring数据访问及集成 ##### -->
  136. <!-- Spring对jdbc的简化封装 -->
  137. <dependency>
  138. <groupId>org.springframework</groupId>
  139. <artifactId>spring-jdbc</artifactId>
  140. <version>${spring.version}</version>
  141. </dependency>
  142. <!-- Spring对事务控制的实现模块 -->
  143. <dependency>
  144. <groupId>org.springframework</groupId>
  145. <artifactId>spring-tx</artifactId>
  146. <version>${spring.version}</version>
  147. </dependency>
  148. <!-- Spring对orm框架的支持包(然而不支持Mybatis) -->
  149. <!--<dependency>-->
  150. <!--<groupId>org.springframework</groupId>-->
  151. <!--<artifactId>spring-orm</artifactId>-->
  152. <!--<version>${spring.version}</version>-->
  153. <!--</dependency>-->
  154. <!-- ##### 数据库相关 ##### -->
  155. <!-- Mybatis框架 -->
  156. <dependency>
  157. <groupId>org.mybatis</groupId>
  158. <artifactId>mybatis</artifactId>
  159. <version>${mybatis.version}</version>
  160. </dependency>
  161. <!-- Mybatis与spring的适配器.Spring没有对mybatis的支持包,mybatis就自己写了个 -->
  162. <dependency>
  163. <groupId>org.mybatis</groupId>
  164. <artifactId>mybatis-spring</artifactId>
  165. <version>${mybatis-spring.version}</version>
  166. </dependency>
  167. <!-- MySql驱动 -->
  168. <dependency>
  169. <groupId>mysql</groupId>
  170. <artifactId>mysql-connector-java</artifactId>
  171. <version>${mysql.version}</version>
  172. </dependency>
  173. <!-- 连接池 -->
  174. <dependency>
  175. <groupId>com.alibaba</groupId>
  176. <artifactId>druid</artifactId>
  177. <version>${druid.version}</version>
  178. </dependency>
  179. <!-- ##### 日志 ##### -->
  180. <!-- 桥接包,用slf4j顶上spring-core包中被排除掉的commons-logging -->
  181. <dependency>
  182. <groupId>org.slf4j</groupId>
  183. <artifactId>jcl-over-slf4j</artifactId>
  184. <version>${slf4j.version}</version>
  185. </dependency>
  186. <!-- slf4j的核心包(它只是一套接口) -->
  187. <dependency>
  188. <groupId>org.slf4j</groupId>
  189. <artifactId>slf4j-api</artifactId>
  190. <version>${slf4j.version}</version>
  191. </dependency>
  192. <!-- slf4j对log4j12的支持包,把slf4j的接口转嫁到log4j上去实现 -->
  193. <dependency>
  194. <groupId>org.slf4j</groupId>
  195. <artifactId>slf4j-log4j12</artifactId>
  196. <version>${slf4j.version}</version>
  197. </dependency>
  198. <!-- log4j的核心包(它才是真正干活的日志框架) -->
  199. <dependency>
  200. <groupId>log4j</groupId>
  201. <artifactId>log4j</artifactId>
  202. <version>${log4j.version}</version>
  203. </dependency>
  204. <!-- ##### jsp相关 ##### -->
  205. <!-- JSP标准标签库 -->
  206. <dependency>
  207. <groupId>jstl</groupId>
  208. <artifactId>jstl</artifactId>
  209. <version>${jstl.version}</version>
  210. </dependency>
  211. <!-- servlet-api和jsp-api都是由tomcat等servlet容器负责提供的包,这里引入只用于开发,不进行打包 -->
  212. <dependency>
  213. <groupId>javax.servlet</groupId>
  214. <artifactId>servlet-api</artifactId>
  215. <version>${servlet-api.version}</version>
  216. <scope>provided</scope>
  217. </dependency>
  218. <dependency>
  219. <groupId>javax.servlet</groupId>
  220. <artifactId>jsp-api</artifactId>
  221. <version>${jsp-api.version}</version>
  222. <scope>provided</scope>
  223. </dependency>
  224. <!-- ##### 其他 ##### -->
  225. <!-- json处理器 -->
  226. <dependency>
  227. <groupId>com.alibaba</groupId>
  228. <artifactId>fastjson</artifactId>
  229. <version>${fastjson.version}</version>
  230. </dependency>
  231. <!-- 包括了若干google的java项目广泛依赖的核心库 -->
  232. <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
  233. <dependency>
  234. <groupId>com.google.guava</groupId>
  235. <artifactId>guava</artifactId>
  236. <version>${guava.version}</version>
  237. </dependency>
  238. </dependencies>
  239. </dependencyManagement>
  240. <!-- 这里配置与build过程相关的内容 -->
  241. <build>
  242. <!-- 执行build任务时,如果没有指定目标,将使用的默认值,如:在命令行中执行mvn,则相当于执行mvn install -->
  243. <defaultGoal>install</defaultGoal>
  244. <!-- build目标文件的存放目录 -->
  245. <directory>${basedir}/target</directory>
  246. <!-- build目标文件的文件名 -->
  247. <finalName>${project.artifactId}-${project.version}</finalName>
  248. <!-- 这里定义build过程中将引入的资源文件 -->
  249. <!-- 这里引入的键值对可以用于替换resources里边指定的资源文件中的${}占位符 -->
  250. <filters>
  251. <!--<filter>${basedir}/src/main/resources/filters/${profile.active}.properties</filter>-->
  252. </filters>
  253. <!-- 这里定义build过程中将输出的资源文件,包括源地址/目标地址/需输出资源文件/不输出的资源文件,等 -->
  254. <resources>
  255. </resources>
  256. <!-- 这里定义build过程所需使用的插件 -->
  257. <plugins>
  258. <plugin>
  259. <!-- tomcat7插件 -->
  260. <groupId>org.apache.tomcat.maven</groupId>
  261. <artifactId>tomcat7-maven-plugin</artifactId>
  262. <version>2.2</version>
  263. <configuration>
  264. <!-- webapp路径和端口,最终访问地址就是http://域名:端口/path -->
  265. <path>${server.path}</path>
  266. <port>${server.port}</port>
  267. <!-- uri所用编码,只对tomcat:run有效,因为远程部署要在tomcat服务器的配置文件上修改才行 -->
  268. <uriEncoding>${project.build.sourceEncoding}</uriEncoding>
  269. <!-- tomcat自带了一个manager应用,可以通过它进行内存检测/远程部署项目等功能 -->
  270. <url>${server.url}</url>
  271. <!-- manager应用的账号密码,远程部署用 -->
  272. <username>${server.username}</username>
  273. <password>${server.password}</password>
  274. </configuration>
  275. </plugin>
  276. </plugins>
  277. </build>
  278. <!-- 配置信息集-例如可以给开发环境/测试环境/生产环境预定义三套不同的配置 -->
  279. <profiles>
  280. <profile>
  281. <id>dev</id>
  282. <properties>
  283. <!-- 定义当前被激活的profile名称,用于build.filter节点引入同名properties文件 -->
  284. <!-- 即是有${basedir}/src/main/filters/dev.properties,存放开发环境下数据库连接信息等配置 -->
  285. <profile.active>dev</profile.active>
  286. <server.path>/</server.path>
  287. <server.port>8080</server.port>
  288. <server.url>http://127.0.0.1:8080/manager/text</server.url>
  289. <server.username>username</server.username>
  290. <server.password>password</server.password>
  291. </properties>
  292. <activation>
  293. <!-- 这套配置设为默认激活 -->
  294. <activeByDefault>true</activeByDefault>
  295. </activation>
  296. </profile>
  297. <profile>
  298. <id>test</id>
  299. <properties>
  300. <profile.active>test</profile.active>
  301. <server.path>/</server.path>
  302. <server.port>8080</server.port>
  303. <server.url>http://测试环境IP:8080/manager/text</server.url>
  304. <server.username>测试环境管理账号</server.username>
  305. <server.password>测试环境管理密码</server.password>
  306. </properties>
  307. </profile>
  308. <profile>
  309. <id>prod</id>
  310. <properties>
  311. <profile.active>prod</profile.active>
  312. <server.path>/</server.path>
  313. <server.port>8080</server.port>
  314. <server.url>http://生产环境IP:8080/manager/text</server.url>
  315. <server.username>生产环境管理账号</server.username>
  316. <server.password>生产环境管理密码</server.password>
  317. </properties>
  318. </profile>
  319. </profiles>
  320. </project>