一、基本结构
1、创建父工程maven
父工程打包方式必须为pom,可以使子类来继承
代码: <packaging>pom</packaging>
groupId一般是包名,包含公司名
代码:<groupId>com.baidu</groupId>
构件artifactId,父模块一般是项目名,子模块一般是对应模块业务名
<artifactId>baidu</artifactId>
2、创建子模块
创建子工程a
打包方式:jar
代码: <packaging>jar</packaging>
构件artifactId:为对应的业务模块名
代码: <artifactId>baidu-module-order</artifactId>
注意:子工程坐标只需写artifactId标签,groupId标签直接继承父标签,所以子模块不需要写groupId
3、子工程之间的依赖
如我们创建了两个子模块A和B,如果B模块要用到A模块的接口或者类,那么我们需要在B的pom文件的dependency 标签中将A模块的坐标依赖进去。
如订单需要使用用户模块(user),则加入如下依赖代码:
<dependencies>
<dependency>
<groupId>com.baidu</groupId>
<artifactId>baidu-module-user</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
二、几个重要的属性介绍
<!-- 项目当前版本,格式为:主版本.次版本.增量版本-限定版本号 -->
<version> 1.0-SNAPSHOT </version>
<!-- 项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型 -->
<packaging> jar </packaging>
<!-- 项目的名称, Maven产生的文档用 -->
<name> xxx-xxx</name>
<!-- 项目主页的URL, Maven产生的文档用 -->
<url> http://maven.apache.org </url>
<!-- 项目的详细描述, Maven 产生的文档用。 当这个元素能够用HTML格式描述时(例如,CDATA中的文本会被解析器忽略,就可以包含HTML标签), 不鼓励使用纯文本描述。如果你需要修改产生的web站点的索引页面,你应该修改你自己的索引页文件,而不是调整这里的文档。 -->
<description> A maven project to study maven. </description>
具体元素可以参考:pom所有的元素讲解