目的:为了在开发过程中更清晰、更有效地复用模块进行开发子系统
使用maven将模块工程化开发,将每个模块创建为一个maven工程
(缺点,模块过多,管理起来麻烦)
现在将系统分为三个模块/工程:
系统主工程模块:project (编程模块)
系统工具类模块:util (引入所需要的工具类)
技术架构模块:springmybatis(不进行编程,只需要在pom.xml中引入项目框架所依赖的jar包)
说明:主工程projec依赖于工具模块util和技术架构模块springmybati
工程聚合:(将各个工程聚合起来打包成war包,方便测试)
parent工程(不进行编码)
①在parent工程的pom.xml中配置(聚合工程)
<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> <!--聚合工程,将子工程聚合起来,方便打包成war包时进行测试 --> <groupId>yycg</groupId> <artifactId>parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <!-- 设定子模块的目录 ,目录要有pom.xml,使用相对路径 --> <module>../project</module> <module>../util</module> <module>../springmybatis</module> </modules> </project>
②在project、util和springmybatis工程的pom.xml中都配置以下代码
<!--继承父模块(聚合工程) --> <parent> <!-- 相对路径 --> <relativePath>../parent</relativePath> <groupId>yycg</groupId> <artifactId>parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
③在主工程project的pom.xml中配置插件
<!-- war包生成插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> </configuration> </plugin> <!-- tomcat运行插件 --> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.2.3</version> <configuration> <container> <containerId>tomcat7x</containerId> <home>D: omcat_install</home> <!--自己的tomcat安装路径--> </container> <configuration> <type>existing</type> <home>D: omcat_install</home> </configuration> </configuration> <executions> <execution> <id>cargo-run</id> <phase>install</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin>
④在cmd命令行执行工程聚合,达到一步构建(编译、运行、打包war、启动tomcat)
1、 cmd进入parent工程目录(例:cd /d D:myeclipse文件保存处parent)
2、在parent工程目录下运行mvn install
3、运行mvn install之后 ,检查本地仓库,是否三个工程jar发布到本地仓库