使用命令行快速创建Maven多模块项目
- - ITeye博客使用命令行快速创建Maven多模块项目. auth-all:父(聚合)模块. auth-dal:数据访问模块. auth-biz:业务模块,依赖于auth-dal. auth-web:web模块,依赖于auth-biz. 1)auth-all的pom.xml. . 2)all-dal的pom.xml:.
使用命令行快速创建Maven多模块项目
1.创建父模块
mvn archetype:generate -DgroupId=name.isgodonto -DartifactId=auth-all -Dversion=1.0.0-SNAPSHOT -Dpackage=name.isgodonto -DarchetypeArtifactId=maven-archetype-site-simple -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeVersion=1.1 -DinteractiveMode=false
2.创建子模块
cd auth-all mvn archetype:generate -DgroupId=name.isgodonto -DartifactId=auth-dal -Dversion=1.0.0-SNAPSHOT -Dpackage=name.isgodonto -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeVersion=1.1 -DinteractiveMode=false mvn archetype:generate -DgroupId=name.isgodonto -DartifactId=auth-biz -Dversion=1.0.0-SNAPSHOT -Dpackage=name.isgodonto -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeVersion=1.1 -DinteractiveMode=false mvn archetype:generate -DgroupId=name.isgodonto -DartifactId=auth-web -Dversion=1.0.0-SNAPSHOT -Dpackage=name.isgodonto -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeVersion=1.1 -DinteractiveMode=false
3.目录结构:
auth-all:父(聚合)模块
auth-dal:数据访问模块
auth-biz:业务模块,依赖于auth-dal
auth-web:web模块,依赖于auth-biz
4.pom文件调整如下:
1)auth-all的pom.xml
<?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>name.isgodonto</groupId> <artifactId>auth-all</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <properties> <auth.version>1.0.0-SNAPSHOT</auth.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jetty.version>8.1.13.v20130916</jetty.version> </properties> <modules> <module>auth-dal</module> <module>auth-biz</module> <module>auth-web</module> </modules> <dependencyManagement> <dependencies> <!-- ================================================= --> <!-- 模块间依赖 --> <!-- ================================================= --> <dependency> <groupId>name.isgodonto</groupId> <artifactId>auth-dal</artifactId> <version>${auth.version}</version> </dependency> <dependency> <groupId>name.isgodonto</groupId> <artifactId>auth-biz</artifactId> <version>${auth.version}</version> </dependency> <dependency> <groupId>name.isgodonto</groupId> <artifactId>auth-web</artifactId> <version>${auth.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> </plugin> </plugins> </pluginManagement> </build> </project>
2)all-dal的pom.xml:
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>name.isgodonto</groupId> <artifactId>auth-all</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>auth-dal</artifactId> <name>auth-dal</name> </project>
3)admin-biz的pom.xml:
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>name.isgodonto</groupId> <artifactId>auth-all</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>auth-biz</artifactId> <name>auth-biz</name> <dependencies> <dependency> <groupId>name.isgodonto</groupId> <artifactId>auth-dal</artifactId> </dependency> </dependencies> </project>
4)auth-web的pom.xml:
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>name.isgodonto</groupId> <artifactId>auth-all</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>auth-web</artifactId> <packaging>war</packaging> <dependencies> <dependency> <groupId>name.isgodonto</groupId> <artifactId>auth-biz</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <webApp> <contextPath>/</contextPath> </webApp> <scanIntervalSeconds>5</scanIntervalSeconds> <stopKey>myapp</stopKey> <stopKey>9999</stopKey> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>80</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> <requestLog implementation="org.eclipse.jetty.server.NCSARequestLog"> <filename>target/access.log</filename> <retainDays>90</retainDays> <append>false</append> <extended>false</extended> <logTimeZone>GMT+8:00</logTimeZone> </requestLog> </configuration> </plugin> </plugins> <finalName>auth-web</finalName> </build> </project>
5.运行项目:
在auth-all下执行以下命令安装包到本地仓库:
mvn clean install -pl auth-web am
在auth-web下执行以下命令启动jetty容器:
mvn jetty:run
在浏览器输入http://localhost,看到"Hello World!"就成功了!