Maven创设多模块应用
maven常用的命令不多,无耐记忆力不佳,工作中生成新项目的机会也不多,每次生成新项目,总要查看maven手册。借些机会,将生成多模块项目的过程记录下来,供下次查阅。
一.创建项目
(2)生成的pom.xml内容如下,这时需将 <packaging>jar</packaging>改为 <packaging>pom</packaging>,这样这个pom.xml才成为父pom.
<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.school.assetmng</groupId> <artifactId>assetmng</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>assetmng</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
二.将整个应用分为如下几层
1.common-dal
2.core-model
3.core-service
4.biz-manager
5.web
6.web-app
进入assetmng目录下,依次执行
1.mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng-common-dal -Dpackage=com.school.assetmng.common.dal
2.mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng-core-model -Dpackage=com.school.assetmng.core.model
3.mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng-core-service -Dpackage=com.school.assetmng.core.service
4.mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng-biz-manager -Dpackage=com.school.assetmng.biz.manager
5.mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng-web -Dpackage=com.school.assetmng.web
6.mvn archetype:create -DgroupId=org.school.assetmng -DartifactId=assetmng-webapp -Dpackage=com.school.assetmng.web -DarchetypeArtifactId=maven-archetype-webapp
三.生成后的总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> <groupId>org.school.assetmng</groupId> <artifactId>assetmng</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>assetmng</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <modules> <module>assetmng-common-dal</module> <module>assetmng-core-model</module> <module>assetmng-core-service</module> <module>assetmng-biz-manager</module> <module>assetmng-web</module> <module>assetmng-webapp</module> </modules> </project>
在生成的过程中,总pom.xml文件会依次将你生成的module加入到modules列表中。