maven 配置继承与多module

1. <parent>继承

Maven提供了继承的机制来管理这些共同的依赖。你可以编写一个pom.xml文件作为父级pom配置,各个模块在自己的pom.xml中继承父级pom文件,就像上面的示例那样,使用<parent>元素标识继承的父级pom文件。

1.1父模块pom文件的编写:

1、父级pom文件的packaging必须是pom,它需要作为pom文件发布以便子pom继承。
2、在父级pom可以使用<dependencyManagement>配置依赖管理。在<dependencyManagement>下的依赖声明不会引入实际依赖,但是可以让子模块继承依赖配置。
3、在父级pom中可以使用<pluginManagement>配置插件管理。作用和<dependencyManagement>类似,只不过一个管理依赖一个管理插件。
 

1.2子模块pom文件的编写:

1、需要使用<parent>元素标识继承的父pom。可以使用<relativePath>标识父级pom的物理路径,子模块会直接从指定的路径加载父级pom文件,未指定该元素时,子模块将根据父级pom的坐标从Maven仓库查找。

2、子模块pom可以继承父级pom中除artifactId之外的大部分配置,因此子模块的groupId、version以及依赖的version都可以省略。

3、子模块pom中的<dependency>可以只写groupId与artifactId,不再写版本号。

例:

<!--	父级pom-->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.glassfish.jersey.containers</groupId>
				<artifactId>jersey-container-servlet</artifactId>
				<version>2.5</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.jersey.media</groupId>
				<artifactId>jersey-media-json-jackson</artifactId>
				<version>2.5</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
<modules>
<module>../GraduationProjectCollect</module>
<module>../GraduationProjectTrain</module>
<module>../GraduationProjectUse</module>
</modules>

(分割行)

	<!--子级pom,不需要写<groupId>,<version>与<dependency>中的<version>-->
	<parent>
		<groupId>com.likeyichu</groupId>
		<artifactId>GraduationProjectAll</artifactId>
		<version>1.0</version>
	</parent>
	<artifactId>GraduationProjectCollect</artifactId>
	<packaging>war</packaging>
	<name>GraduationProjectCollect</name>
	<description>GraduationProjectCollect-数据收集部分</description>

	<dependencies>
		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet</artifactId>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-json-jackson</artifactId>
		</dependency>
	<dependencies>

2.<module>

一个项目由多个子项目组成时,可使用maven的module组织形式。
 <!--总项目的pom文件打包形式必须为pom形式-->
 <packaging>pom</packaging>
 <!--  在<modules>标签中配置<module>标签-->
  <modules>
  	<module>../GraduationProjectCollect</module>
  	<module>../GraduationProjectTrain</module>
  	<module>../GraduationProjectUse</module>
  </modules>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值