1、使用Maven构建多模块项目使用Maven构建多模块项目在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层)、dao(数据库访问层)、service(业务逻辑层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易,今天我们就是使用Maven来构建以上的各个层。项目结构如下:system-parent |-pom.xml |-system-domain |-pom.xml |-system-dao |-pom.xml |-system-service |-pom.xml |-system-web
2、 |-pom.xml一、创建system-parent项目创建system-parent,用来给各个子模块继承。进入命令行,输入以下命令:mvn archetype:create -DgroupId=me.gacl -DartifactId=system-parent -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false命令执行完成之后可以看到在当前目录(C:Documents and SettingsAdministrator)生成了system-parent目录,里面有一个src目录和一个pom.x
3、ml文件,将src文件夹删除,然后修改pom.xml文件,将jar修改为pom,pom表示它是一个被继承的模块, 1 3 4.0.0 4 5 me.gacl 6 system-parent 7 1.0-SNAPSHOT 8 pom 9 10 system-parent11 http:/maven.apache.org12 13 14 UTF-815 16 17 18 19 junit20 junit21 3.8.122 test23 24 25 复制代码二、创建sytem-domain模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvn archetype:crea
4、te -DgroupId=me.gacl -DartifactId=system-domain -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false命令执行完成之后可以看到在system-parent目录中生成了system-domain,里面包含src目录和pom.xml文件。同时,在system-parent目录中的pom.xml文件自动添加 system-domain这时,system-parent的pom.xml文件如下:复制代码 1 2 3 4.0.0 4 5 me.gacl 6 system
5、-parent 7 1.0-SNAPSHOT 8 pom 9 10 system-parent11 http:/maven.apache.org12 13 14 UTF-815 16 17 18 19 junit20 junit21 3.8.122 test23 24 25 26 system-domain27 28 复制代码修改system-domain目录中的pom.xml文件,把me.gacl和1.0-SNAPSHOT去掉,加上jar,因为groupId和version会继承system-parent中的groupId和version,packaging设置打包方式为jar 1 2 4
6、4.0.0 5 6 me.gacl 7 system-parent 8 1.0-SNAPSHOT 9 10 11 system-domain12 jar13 14 system-domain15 http:/maven.apache.org16 复制代码三、创建sytem-dao模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvn archetype:create -DgroupId=me.gacl -DartifactId=system-dao -DarchetypeArtifactId=maven-archetype-quickstart -Dinteracti
7、veMode=false命令执行完成之后可以看到在system-parent目录中生成了system-dao,里面包含src目录和pom.xml文件。同时,在system-parent目录中的pom.xml文件自动变成复制代码 1 2 3 4.0.0 4 5 me.gacl 6 system-parent 7 1.0-SNAPSHOT 8 pom 9 10 system-parent11 http:/maven.apache.org12 13 14 UTF-815 16 17 18 19 junit20 junit21 3.8.122 test23 24 25 26 system-domain
8、27 system-dao28 29 复制代码修改system-dao目录中的pom.xml文件,把me.gacl和1.0-SNAPSHOT去掉,加上jar,因为groupId和version会继承system-parent中的groupId和version,packaging设置打包方式为jar,同时添加对system-domain模块的依赖,修改后的内容如下:复制代码 1 2 4 4.0.0 5 6 me.gacl 7 system-parent 8 1.0-SNAPSHOT 9 10 11 system-dao12 jar13 14 system-dao15 http:/maven.ap
9、ache.org16 17 UTF-818 19 20 21 22 me.gacl23 system-domain24 $project.version25 26 27 复制代码四、创建system-service模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvn archetype:create -DgroupId=me.gacl -DartifactId=system-service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false如下图所示:命令执行完成之后可以看
10、到在system-parent目录中生成了system-service,里面包含src目录和pom.xml文件。同时,在system-parent目录中的pom.xml文件自动变成复制代码 1 2 3 4.0.0 4 5 me.gacl 6 system-parent 7 1.0-SNAPSHOT 8 pom 9 10 system-parent11 http:/maven.apache.org12 13 14 UTF-815 16 17 18 19 junit20 junit21 3.8.122 test23 24 25 26 system-domain27 system-dao28 sys
11、tem-service29 30 复制代码修改system-service目录中的pom.xml文件,把me.gacl和1.0-SNAPSHOT去掉,加上jar,因为groupId和version会继承system-parent中的groupId和version,packaging设置打包方式为jar,同时添加对system-dao模块的依赖,system-service依赖system-dao和system-domain,但是我们只需添加system-dao的依赖即可,因为system-dao已经依赖了system-domain。复制代码 1 2 4 4.0.0 5 6 me.gacl 7
12、system-parent 8 1.0-SNAPSHOT 9 10 11 system-service12 jar13 14 system-service15 http:/maven.apache.org16 17 UTF-818 19 20 24 25 me.gacl26 system-dao27 $project.version28 29 30 复制代码五、创建system-web模块在命令行进入创建好的system-parent目录,然后执行下列命令:mvn archetype:create -DgroupId=me.gacl -DartifactId=system-web -Darch
13、etypeArtifactId=maven-archetype-webapp -DinteractiveMode=false如下图所示:命令执行完成之后可以看到在system-parent目录中生成了system-web,里面包含src目录和pom.xml文件。如下图所示:在system-websrcmainwebapp目录中还生成了一个简单的index.jsp,如Hello World!system-websrcmainwebappWEB-INF目录中生成了web.xml同时,在system-parent目录中的pom.xml文件自动变成 1 2 3 4.0.0 4 5 me.gacl 6 system-parent 7 1.0-SNAPSHOT 8 pom 9 10 system-parent11 http:/maven.apache.org12 13 14 UTF-815 16 17 18 19 junit20 junit21
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1