博客已转至:
http://www.muxuanli.com/lmx/
【聚合】类似的多个模块的项目,我们在构建时,会希望一次构建完成,而不是每个模块都执行mvn命令。Maven的聚合特性可是实现此需求。
【继承】在parent项目中定义一些依赖,可以避免在其它子项目中重复定义,其<packaging>的值也是 pom
以admin项目为例 包括version配置等信息
admin-common 主要是POJO entity vo 等
admin-biz 主要进行一些业务操作(依赖biz)
admin-web web项目 依赖common/biz
admin-parent 主要是定义项目中依赖的jar包的版本等,用于继承
在以上四个目录之上,可以构建一个新的项目admin,该项目只有一个pom文件,其特殊之处在于:
1. <packaging>的值 是 pom , 而不是默认的jar
2. 使用了modules元素,实现多模块的聚合
admin
--- admin-common
--- admin-biz
--- admin-web
--- admin-parent
--- pom.xml
step1 建立总的聚合文件夹 admin,里面只有一个 pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lmx.test</groupId>
<artifactId>admin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Admin Project</name>
</project>
step2 在admin目录下建立parent项目,里面也只有一个pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lmx.test</groupId>
<artifactId>admin-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Admin Parent</name>
</project>
step3 分别创建common,biz,web项目
以common项目为例:在admin目录下执行mvn命令:
mvn archetype:generate -DgroupId=com.lmx.test -DartifactId=admin-common -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
创建admin-web项目:
mvn archetype:generate -DgroupId=com.lmx.test -DartifactId=admin-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false
查看admin-common的pom文件,已经继承了parent:
<?xml version="1.0"?>
<project 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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.lmx.test</groupId>
<artifactId>admin</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.lmx.test</groupId>
<artifactId>admin-common</artifactId>
<version>1.0-SNAPSHOT</version>
<name>admin-common</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
其中 groupId version等是可以继承的,所以可以删除掉!
查看admin下的pom文件:modules元素下已自动加入了3个子模块
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lmx.test</groupId>
<artifactId>admin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Admin Project</name>
<modules>
<module>admin-common</module>
<module>admin-biz</module>
<module>admin-web</module>
</modules>
</project>
step4 eclipse引入
分享到:
相关推荐
maven管理的多模块聚合的springboot+duubo+zokeeper+Redis整合demo,一个父pom文件,分为api/service/client多个子module
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。 提供了一个简单的Maven多模块实例
NULL 博文链接:https://yansxjl.iteye.com/blog/2333900
这是一个maven依赖+继承+聚合的小例子,用来参考和学习maven
通过Maven的聚合和继承特性创建复杂的多模块项目的简单演示,详细介绍见http://blog.csdn.net/autfish/article/details/51939515
本文是开发笔记和教程,主要说明了使用springboot从0开始,完成了创建maven聚合工程,搭建使用了springboot modules工程。 同时,项目搭建的源码开源分享。此文是springboot初学者,搭建多模块项目的推荐文章。
maven项目,主要是一些配置,如聚合和继承以及插件.私服等,项目按模块区分,多个子项目继承parent
1.maven聚合工程,父工程统一管理依赖版本 2.分模块设计,模块之间通过jar包的方式互相引用 3.基于springboot框架 4.整合了Lombok、Spring MVC、Druid、Mybatis、MySQL
java maven 聚合项目 分模块实例; java socket 服务端与客户端,服务端主动发指令,客户端发送心跳包 实例demo。
在eclipse下构建maven项目,该项目由多个子模块组成。main-app是主项目, 其他项目构建在此项目下面
演示如何利用maven进行模块分组、依赖集中处理、依赖约定处理、继承使用。。。
IDEA下使用maven构建web项目(SpringMVC+Mybatis整合).非常详细,欢迎使用。
认识Maven。Maven安装,Maven核心概念,约定配置,坐标和仓库,POM,依赖管理,构建的总结,聚合与继承的区别。的脑图
今天小编就为大家分享一篇关于Maven的聚合(多模块)和Parent继承,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
spring boot 多模块聚合案例 包括包引入以及静态文件分类等
maven高级(分模块设计、继承、聚合、私服)
1.创建Maven项目构建多模块的Maven项目第一步需创建Maven父级项目,该项目负责聚合所有模块的内容,并进行编译、打包和发布工作。以下是创建Maven项目的具体步骤: 1.1. Maven环境配置配置M2_HOME和MAVEN_HOME,如下...
在这个技术飞速发展的时代,各类用户对软件的要求越来越高,软件本身也变得越来越复杂。因此软件设计人员往往会采取各种方式对软件划分模块,以得到更清晰...Maven聚合(或者称为多模块)这一特性就是为该需求服务的。
Maven 是目前流行的自动化构建工具,对于生产环境下多框架、多模块整合开发有重要作用。Maven 是一款在大型项目开发过程中不可或缺的重要工具。本课程将帮助你了解 Maven 的作用,常用命令,如何配置依赖,以及依赖...
主要介绍了Idea创建多模块maven聚合项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧