多模块Maven项目的快速构建
来源:互联网 发布:热血沙尘源码 编辑:程序博客网 时间:2024/06/05 04:17
多模块Maven项目的快速构建
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
这里不介绍Maven的安装和配置,很简单,网上大把都有安装配置示例,这里只演示如何快速构建一个Maven项目。
一个简单的Maven模块结构是这样的:
---- app-root |-- pom.xml (pom) | |-- app-util:工具类,所有工具类都提取出来写在这个项目中。 | |-- pom.xml (jar) | |-- app-entity:数据模型,与数据库表字段对应的实体类。 | |-- pom.xml (jar) | |-- app-dao:数据持久层,操作底层数据库。 | |-- pom.xml (jar) | |-- app-service:核心业务项目,主要是Service处理业务逻辑。 | |-- pom.xml (jar) | |-- app-web:这个就是整个项目的web层了,页面的显示以及控制层。 |-- pom.xml (war)
注:创建这些项目的时候,只有app-web是web项目即maven的:maven-archetype-webapp,其他的都是java项目:maven-archetype-quicktart
下面是各个模块的继承和依赖关系(箭头表示依赖):
- 所有模块都继承app-root父模块
- app-dao –> app-entity
- app-service –> app-dao
- app-web –> app-service
- app-service –> app-util
- app-web –> app-util
下面开始创建一个多模块的Maven项目
1.在eclipse中创建一个maven项目(个人原因手贱先创建了所以重名了不能点Next,无视就好):
1.1打开tbmaven-root项目中的pom.xml,并将Packaging改为pom
2.创建maven各个模块(注意各个模块的继承和依赖关系,这里以tbmaven-service为例):
2.1创建完之后,tbmaven-root中会出现
这是因为eclipse自动在父模块的pom中添加了下面的代码
而tbmaven-service因为继承了tbmaven-root,所以eclipse会在tbmaven-service的pom中加上如下代码
2.2因为tbmaven-service依赖tbmaven-util,tbmaven-dao和tbmaven-entity,所以需要在tbmaven-service的pom中添加下面一段依赖
注:
1.由于tbmaven-dao依赖了tbmaven-entity,那么tbmaven-service也间接依赖了tbmaven-entity,所以我们这里没有显示的依赖tbmaven-entity
2.${project.version}表示的是一个属性引用,指向了POM的project/version的值,也就是这个POM对应的version。由于tbmaven-service的version继承于tbmaven-root,因此它的值就是1.0-SNAPSHOT。而tbmaven-util也继承了这个值,因此在所有这些项目中,我们做到了保持版本一致。
3.创建tbmaven-web模块,创建web模块跟创建entity模块的方法是一样的,不同的是下面这个地方要选择maven-archetype-webapp
注:tbmaven-web的pom中的Packaging不是jar而是war,在上面maven结构图中也写到了。
到此就搭建好了企业级多模块的项目环境了。
注:搭建Maven项目时出现的问题:
1.tbmaven-web目录不全
解决办法:右键web项目–>Properties–>Java Build Path–>Libraries–>Add Library–>Server Runtime,然后把tomcat添加进来就可以了。
2.初学者最容易犯的一个错误
在发布项目的时候一定要把上面红框框的部分Remove掉,不然项目会发布不成功。
- 多模块Maven项目的快速构建
- Maven构建简单的多模块项目
- maven构建多模块的web项目
- Maven构建简单的多模块项目
- Maven构建简单的多模块项目
- Maven构建简单的多模块项目
- maven构建多模块项目
- Maven构建多模块项目
- maven 构建多模块项目
- Maven构建多模块项目
- Maven构建多模块项目
- Maven多模块项目构建
- Maven构建多模块项目
- Maven构建多模块项目
- Maven多模块项目构建
- maven构建多模块项目
- Maven多模块项目构建
- maven构建多模块项目
- 高效Linux 5 用户及权限管理
- 2-sat + 二分 hdu3715
- 机器学习实战 Logistic 回归
- 算法学习之旅,初级篇(6)--统计字符
- HDU3342---Legal or Not(拓扑排序。)
- 多模块Maven项目的快速构建
- 小白学tkinter(Text组件)
- Spark学习链接(Scala)
- 冒泡排序法
- 机器学习算法总结--K近邻
- DOS命令
- Python语法基础09.比较、关系运算符
- makefile入门语法
- hadoop伪分布式集成环境搭建