maven继承

来源:互联网 发布:rstudio软件官方下载 编辑:程序博客网 时间:2024/06/01 10:24

可声明父POM供子POM继承

父模块POM如下:

<project><modelVersion>4.0.0</modelVersion><groupId>com.sjc.spring</groupId><artifactId>spring_1</artifactId><version>1.0.0-SNAPSHOT</version><packaging>pom</packaging><name>spring_1 Maven Webapp</name></project>
子模块声明继承如下:

<project><modelVersion>4.0.0</modelVersion><parent><groupId>com.sjc.spring</groupId><artifactId>spring_1</artifactId><version>1.0.0-SNAPSHOT</version><relativePath>../spring_1/pom.xml</relativePath></parent><artifactId>spring_1_child</artifactId><name>spring_1_child</name></project>
在使用聚合编译时,同样需要把spring_1加入到聚合里面进行编译。

1、子模块没有声明groupId和version,这两个属性继承自父模块。但如果子模块有不同与父模块的groupId、version,也可指定

2、不应该继承artifactId,如果groupId,version,artifactId完全继承的话会造成坐标冲突;另外即使使用不同的groupId或version,同样的artifactId也容易产生混淆。

3、使用继承后parent也必须像自模块一样加入到聚合模块中。也就是在聚合模块的pom中加入<module>account-parent</module>maven中可继承的pom元素

groupId:项目组Id,项目坐标的核心元素
version:项目版本,项目坐标的核心元素
description:项目的表示信息
organization:项目的组织信息
inceptionYear:项目的创始年份
url:项目的url地址
develoers:项目的开发者信息
contributors:项目的贡献者信息
distributionManagerment:项目的部署信息
issueManagement:缺陷跟踪系统信息
ciManagement:项目的持续继承信息
scm:项目的版本控制信息
mailingListserv:项目的邮件列表信息
properties:自定义的maven属性
dependencies:项目的依赖配置
dependencyManagement:项目的依赖管理配置
repositories:项目的常客配置
build:包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等
reporting:包括项目的报告输出目录配置、报告插件配置等。

0 0