====== maven创建多模块项目过程 ======
以生活应用lifeapp为例
===== 创建项目 =====
==== 创建项目lifeapp====
进到一个目录下
cd /Users/guanxianghui/Documents/05.be/
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行后创建lifeapp项目,进入目录
cd lifeapp
执行
vim pom.xml
将
jar
改成
pom
再删除src目录
rm -rf src
==== 创建模块lifeapp-biz ====
进入目录
cd lifeapp
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp-biz -Dpackage=com.shhxzq.fin.lifeapp.biz -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行后创建lifeapp-biz模块,修改文件
vim pom.xml
删除com.shhxzq.fin
删除1.0-SNAPSHOT
==== 创建模块lifeapp-dao ====
进入目录
cd lifeapp
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp-dao -Dpackage=com.shhxzq.fin.lifeapp.dao -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行后创建lifeapp-dao模块,修改文件
vim pom.xml
删除com.shhxzq.fin
删除1.0-SNAPSHOT
==== 创建模块lifeapp-model ====
进入目录
cd lifeapp
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp-model -Dpackage=com.shhxzq.fin.lifeapp.model -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行后创建lifeapp-model模块,修改文件
vim pom.xml
删除com.shhxzq.fin
删除1.0-SNAPSHOT
==== 创建模块lifeapp-remote ====
进入目录
cd lifeapp
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp-remote -Dpackage=com.shhxzq.fin.lifeapp.remote -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行后创建lifeapp-remote模块,修改文件
vim pom.xml
删除com.shhxzq.fin
删除1.0-SNAPSHOT
==== 创建模块lifeapp-service ====
进入目录
cd lifeapp
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp-service -Dpackage=com.shhxzq.fin.lifeapp.service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
执行后创建lifeapp-service模块,修改文件
vim pom.xml
删除com.shhxzq.fin
删除1.0-SNAPSHOT
==== 创建模块lifeapp-web ====
进入目录
cd lifeapp
执行
mvn archetype:generate -DgroupId=com.shhxzq.fin -DartifactId=lifeapp-web -Dpackage=com.shhxzq.fin.lifeapp.web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
执行后创建lifeapp-web模块,修改文件
vim pom.xml
删除com.shhxzq.fin
删除1.0-SNAPSHOT
===== 设置模块间的依赖 =====
view pom.xml 看到 lifeapp项目包括以下六个模块
lifeapp-biz
lifeapp-dao
lifeapp-remote
lifeapp-model
lifeapp-web
lifeapp-service
分析各个模块之间的依赖
lifeapp-model -> null(不依赖任何一个模块)
lifeapp-dao -> lifeapp-model
lifeapp-service -> lifeapp-model
lifeapp-biz -> lifeapp-service
-> lifeapp-dao
-> lifeapp-remote
lifeapp-remote -> lifeapp-model
lifeapp-web -> lifeapp-biz
在各个模块中按以下形式,添加依赖模块
com.shhxzq.fin
lifeapp-XXX
${project.version}
到这里基础项目配置完毕
===== mvn打包项目 =====
进入目录
cd lifeapp
执行
mvn clean install
输出
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] lifeapp ............................................ SUCCESS [ 0.379 s]
[INFO] lifeapp-model ...................................... SUCCESS [ 2.157 s]
[INFO] lifeapp-service .................................... SUCCESS [ 0.363 s]
[INFO] lifeapp-dao ........................................ SUCCESS [ 0.301 s]
[INFO] lifeapp-biz ........................................ SUCCESS [ 0.299 s]
[INFO] lifeapp-remote ..................................... SUCCESS [ 0.322 s]
[INFO] lifeapp-web Maven Webapp ........................... SUCCESS [ 0.423 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.380 s
[INFO] Finished at: 2016-09-05T16:47:06+08:00
[INFO] Final Memory: 22M/165M
[INFO] ------------------------------------------------------------------------
看到lifeapp项目编译打包成功
===== 发布项目 =====
将war包拷贝到tomcat的webapps中,启动tomcat,访问http://localhost:8080/lifeapp-web/,浏览器上看到如下内容,说明访问正常
Hello World!