java多项目maven工程_详解使用Maven构建多模块项目(图文)

Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。

项目结构如下:

test-hd-parent   (父级)

---pom.xml

---test-hd-api     (第三方接口层)

----pom.xml

---test-hd-foundation (基础工具层)

----pom.xml

---test-hd-resource  (资源层)

----pom.xml

---test-hd-service    (逻辑业务层)

----pom.xml

---test-hd-modules    (web层)

----pom.xml

---test-hd-www      (web模块1)

----pom.xml

---test-hd-admin      (web模块2)

----pom.xml

创建一个父maven工程

新建一个maven项目,选择存储位置,并选择创建一个简单的maven工程

d9b80d7339a7c5ef5d70916602fbb106.png

2b6da9ba2995d77ee70c498faed0b166.png

输入Group Id、Artifact Id、Packaging,packaging选择pom包

12eae9c1f17ef27355f3e3db2143d986.png

生成父工程,pom.xml如下

5a71fa518c786fbe0683eb09c63e7812.png

删除工程中的src 目录

57cefee5a0fbcf183f02d8e81d85bae7.png

创建子模块

右击父工程名---》New---》Project,然后选择新建一个maven module工程

ae7d96d180047331717840b09090fc8b.png

ca0fb0c6a765f923bfb0f9b3b715e4b8.png

设置子工程名以及父工程,再设置快速创建模式

54242ae1ed8f22c2b19fcfe0bede81d7.png

1dc9e8db574d67c82c2fd4cbd66cde57.png

得到子工程(test-hd-api,第三方接口层),设置编译的jdk

86574d08cb933af29fc7bc90448c1ebc.png

e6680139691c304bab001b4651d07f3a.png

同理设置,子模块:test-hd-foundation(基础工具层)、test-hd-resource(资源层) 、test-hd-service(逻辑业务层)

新建test-hd-modules (web层),选择创建一个a simple project,输入Group Id、Artifact Id、Packaging,packaging选择pom包

5d6a793a08630d5631585e0e52b58826.png

6c1c5c94b05c965a2bb22294068cf667.png

创建web子模块

web子模块在建在test-hd-modules (web层)里面,右击test-hd-modules 工程名---》New---》Project,然后选择新建一个maven module工程,设置子工程名以及父工程,选择新建web项目

0257cf068d6c899eecd97101317477b7.png

同理可以配置其他的web子模块   test-hd-admin(web模块2)

7fa8bbcd124fe27e006801cc5b3143f6.png

配置个模块的依赖

在parent项目pom.xml中建立依赖管理(dependencyManagement)

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.hd

test-hd-parent

0.0.1-SNAPSHOT

pom

test-hd-api

test-hd-service

test-hd-resource

test-hd-foundation

test-hd-modules

com.hd

test-hd-api

0.0.1-SNAPSHOT

com.hd

test-hd-service

0.0.1-SNAPSHOT

com.hd

test-hd-resource

0.0.1-SNAPSHOT

com.hd

test-hd-foundation

0.0.1-SNAPSHOT

javax.servlet

javax.servlet-api

3.0.1

provided

javax.servlet.jsp

jsp-api

2.2

provided

javax.servlet

jstl

1.2

taglibs

standard

1.1.2

junit

junit

3.8.1

test

test-hd-foundation中的依赖

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">

4.0.0

com.hd

test-hd-parent

0.0.1-SNAPSHOT

test-hd-foundation

javax.servlet

jstl

taglibs

standard

junit

junit

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.7

1.7

test-hd-api中的依赖关系

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">

4.0.0

com.hd

test-hd-parent

0.0.1-SNAPSHOT

test-hd-api

com.hd

test-hd-foundation

javax.servlet

jstl

taglibs

standard

junit

junit

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.7

1.7

test-hd-api

test-hd-resource中的依赖关系

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">

4.0.0

com.hd

test-hd-parent

0.0.1-SNAPSHOT

test-hd-resource

junit

junit

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.7

1.7

test-hd-service中的依赖关系

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">

4.0.0

com.hd

test-hd-parent

0.0.1-SNAPSHOT

test-hd-service

com.hd

test-hd-foundation

com.hd

test-hd-api

javax.servlet

jstl

taglibs

standard

junit

junit

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.7

1.7

test-hd-service

test-hd-module中的依赖关系

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.hd

test-hd-parent

0.0.1-SNAPSHOT

test-hd-modules

pom

test-hd-www

test-hd-admin

com.hd

test-hd-foundation

com.hd

test-hd-service

com.hd

test-hd-api

com.hd

test-hd-resource

javax.servlet

jstl

taglibs

standard

junit

junit

test-hd-www中的依赖关系

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">

4.0.0

com.hd

test-hd-modules

0.0.1-SNAPSHOT

test-hd-www

war

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.7

1.7

test-hd-www

最后使用maven-update整个工程,右击父工程名--》Maven--》Update Project

5dc2e3d473c6bd03ced807e967987382.png

打包和发布

打包,右击父工程名 test-hd-parent---->Run As--->Maven Install

e798c8faa3668be244a2172aa09ad2d6.png

d0c90ccf36fa7ff4061de57b226c0f34.png

打包web子工程,右击工程名test-hd-www--->Run As ---> Maven Build...---> Goals: clean package--->Run

cb328df9021491b7a5a4f615cc7263d5.png

a141908891990d18687b7458565c6fdc.png

d6c15fd370221edc1fef52e684c350ab.png

右击工程名test-hd-www,进行刷新,找到war包,放到tomcat的webapps中,启动tomcat,即可访问工程http://localhost:8080/test-hd-www

4695ee01a7d6d6ef5a9ffedee2b9a982.png

ef854722e5ef5417810e55de9d5e9d33.png

可以去tomcat下面webapps》test-hd-www》WEB-INF》lib中,看到引用的jar包

308a878aee58bc5dae42b370277b0af7.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值