====== 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!