`
schy_hqh
  • 浏览: 555976 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(四)maven的聚合和继承

 
阅读更多

1.聚合

在一个POM文件中完成所有模块的编译,打包工作,而不用每个模块单独执行命令。
好处:简化过程,一个地方编译所有的模块
注意:
packaging为pom
被聚合的模块的路径需使用../在当前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.hqh.maven.user</groupId>
  <artifactId>user-aggregation</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <!--聚合的packaging属性为pom-->
  <packaging>pom</packaging>

  <modules>
        <!--路径要正确-->
  	<module>../user-log</module>
  	<module>../user-core</module>
  	<module>../user-dao</module>
  	<module>../user-service</module>
  </modules>

</project>



2.继承

通过继承的思想,父类定义子类通用的配置
好处:集中管理,避免重复,避免依赖导致的jar版本不一致的冲突问题
注意:
parent的packaging属性必须为pom
<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>
	
	<!-- 聚合:聚合其它模块 -->
	<modules>
		<module>../user-log</module>
		<module>../user-core</module>
		<module>../user-dao</module>
		<module>../user-service</module>
	</modules>
	
	<!-- 继承:超级pom的坐标,该pom中的配置用于其它模块继承所用 -->
	<groupId>com.hqh.maven.user</groupId>
	<artifactId>user-parent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<!-- 中心仓库 <repositories> <repository> <id>central</id> <name>my central 
		repository</name> <url>http://xxx.xxx.org</url> <layout>default</layout> 
		<snapshots> <enabled>false</enabled> </snapshots> <releases> <updatePolicy>false</updatePolicy> 
		</releases> </repository> </repositories> -->

	<!-- 单点维护属性,其它地方通过${name}来引用 -->
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<junit.version>4.10</junit.version>
	</properties>

	<!-- -->
	<dependencyManagement>
		<dependencies>
			<!-- junit测试单元 -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- 日志 -->
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.16</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>1.6.1</version>
			</dependency>

			<!-- ORM -->
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-core</artifactId>
				<version>3.6.10.Final</version>
			</dependency>

			<dependency>
				<groupId>javassist</groupId>
				<artifactId>javassist</artifactId>
				<version>3.8.0.GA</version>
			</dependency>

			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.25</version>
			</dependency>
			
			<!-- 模块 -->
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>user-log</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>user-core</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>user-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>user-dao</artifactId>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

</project>



分享到:
评论

相关推荐

    maven聚合与继承配置

    本示例将深入探讨"Maven聚合与继承"的概念。 **一、Maven聚合(Aggregation)** Maven聚合允许我们将多个独立的Maven项目组织在一起,形成一个单一的构建单元。在我们的示例中,`parent`项目就是一个聚合项目。它...

    maven依赖+继承+聚合

    通过理解并灵活运用Maven的依赖、继承和聚合,开发者可以更高效地管理复杂的项目结构,减少重复工作,提高开发效率。在实际项目中,合理使用这三个特性,可以使代码组织更加清晰,项目维护更加容易。在这个名为...

    maven聚合和继承

    Maven聚合(Aggregation)是用来管理多个相关项目的方式,这些项目可能共享一部分代码或者有共同的构建目标。在POM中,我们可以通过设置`&lt;modules&gt;`标签来指定一个父项目下的子项目。这样,当我们在父项目执行构建...

    Maven聚合与继承实例详解.docx

    Maven聚合(Aggregation)功能则允许我们将多个Maven项目组合成一个单一的构建单元。通过在父POM中使用`&lt;modules&gt;`标签,可以列出所有子模块,Maven在构建时会按顺序编译和打包每个子模块。这在处理大型多模块项目时...

    maven聚合项目

    总结来说,这个"Maven聚合项目"是一个集成了聚合、继承、插件管理和私服使用的实例,展示了如何高效地管理和构建多模块的Java项目。通过这种方式,开发团队可以更有效地协同工作,保证项目的稳定性和一致性。

    maven继承与聚合代码

    **二、Maven聚合** Maven的聚合功能则用于管理多个相关项目,把它们组合成一个整体。这主要通过`&lt;modules&gt;`标签来实现,它允许在一个POM中列出一系列子模块,使得我们可以一次性构建这些模块。聚合POM并不直接影响...

    maven聚合工程demo

    总结来说,"maven聚合工程demo"是一个利用 Maven 聚合和继承机制,结合 SSH 框架构建的多模块 Java Web 应用项目。通过聚合,我们可以高效地管理多个子项目,通过继承,我们保持了配置的一致性。同时,"META-INF" 和...

    通过Maven的聚合和继承特性创建多模块项目示例

    Maven,作为Java开发中的构建工具,提供了强大的聚合(Aggregation)和继承(Inheritance)特性,使得多模块项目的管理变得高效且有序。本文将深入探讨如何利用这两个特性来创建一个复杂的多模块项目,并通过提供的...

    Maven的聚合与继承DEMO(以及前后端分离)

    Maven 的聚合和继承特性可以很好地支持这种架构,通过不同的模块分别处理前端和后端的构建,保持项目结构清晰,便于团队协作。 在实践中,我们可能需要创建以下类型的 Maven 子项目: 1. 前端项目:通常使用 ...

    maven聚合实例

    总结来说,"maven聚合实例"展示了如何利用Maven的聚合特性来管理多模块项目,以及如何在子项目之间进行依赖和接口调用。这样的实践使得大型项目变得有序且易于维护,同时充分利用了Maven的强大功能。

    maven 依赖,聚合,继承,插件运行应用

    总结起来,Maven的依赖管理、聚合、继承和插件运行机制是构建和管理Java项目的重要工具。它们简化了项目的构建流程,提高了代码复用和项目协作的效率。理解并熟练掌握这些概念,对于Java开发者来说至关重要。

    maven聚合项目模板

    "maven聚合项目模板"是指使用Maven创建的一种特殊结构,用于组织多个相关但独立的子项目,使得这些子项目可以作为一个整体进行构建和管理。这种方式在大型项目或者有多个子模块的项目中非常常见。 1. **模块分组**...

    java maven 聚合项目 分模块 socket 双向通信实例demo

    在Java开发中,Maven聚合项目(Aggregator Project)是一种管理多模块项目的方式,它允许开发者在一个父项目中集合并构建多个子项目。这样的结构有助于代码的组织和依赖管理,特别是当项目涉及到多个独立但相互关联...

    maven总结笔记-继承和聚合

    maven总结笔记-继承和聚合

    Maven安装配置教程及仓库、POM坐标系、Maven工程、继承与聚合

    Maven支持通过继承和聚合来管理多个项目或模块之间的依赖关系。**继承**允许子项目继承父项目的配置,简化重复配置;而**聚合**则是将多个模块组织在一起,便于统一管理。 - **继承**:子POM文件可以继承父POM中的...

    maven 关于 scope test 和 继承传递的问题

    本文将深入探讨"Maven中scope test的使用以及依赖继承传递"这一主题,帮助开发者更好地理解和应用Maven的核心特性。 首先,`scope test`是Maven依赖管理中的一个关键概念。当我们在`pom.xml`文件中为某个依赖设置`...

    version-maven-plugin:简单易用的maven继承聚合项目的版本号变更插件

    用于对Maven聚合继承项目的版本号进行便捷变更的工具 在使用RPC框架的微服务架构中,为了让服务消费者实现像调用本地方法一样的透明的通过网络进行RPC,服务提供者一般会提供立面jar用于服务消费者集成并通过动态...

    maven多模块项目构建过程

    Maven多模块项目是指由一个父项目(或称为聚合项目)和若干个子项目组成的项目结构。这种结构便于代码组织,提高代码复用性,并能有效管理依赖关系。每个子项目都是独立的Maven项目,可以有自己的pom.xml配置文件,...

Global site tag (gtag.js) - Google Analytics