1. 依赖关系

  1.1 标签<dependency>把另一个项目的jar引入到当前项目

  1.2 自动下载另一个项目所依赖的其他项目

2. 继承关系.

  2.1 父项目是pom类型

  2.2 子项目jar或war,如果子项目还是其他项目的父项目,子项目也是pom类型.

  2.3 有继承关系后,子项目中出现<parent>标签

    2.3.1 如果子项目的<groupId>和<version>与父项目项目,在子项目中可以不配置<groupId>和<version>

  2.4 父项目pom.xml中是看不到有哪些子项目.在逻辑上具有父子项目关系.

   <parent>

  <groupId>com.bjsxt</groupId>

   <artifactId>parent</artifactId>

   <version>0.0.1-SNAPSHOT</version>

  </parent>

3. 聚合关系.

  3.1 前提是继承关系.父项目会把子项目包含到父项目中.

  3.2 子项目的类型必须是Maven Module而不是maven project

  3.3 新建聚合项目的子项目时,点击父项目右键新建Maven Module

  3.4 具有聚合关系的父项目,在pom.xml中<modules>

  <modules>

  <module>child2</module>

  </modules>

  3.5 具有聚合关系的子项目,在pom.xml中<parent>

  <parent>

  <groupId>com.bjsxt</groupId>

  <artifactId>parent</artifactId>

  <version>0.0.1-SNAPSHOT</version>

   </parent>

4. 聚合项目和继承项目区别

  4.1 在语意上聚合项目父项目和子项目关系性较强

  4.2 在语意上单纯继承项目父项目和子项目关系性较弱

5. <dependencyManagement> 写在父项目

  5.1 作用:声明可能使用到的所有jar

  5.2 子项目中只需要有坐标的<groupid>和<artifactid>,<version>继承父项目

  5.3 在父项目中<properties>把所有版本好进行统一管理

  5.4 父项目pom.xml

    5.4.1 <properties>子标签名称自定义

    5.4.2 ${名字} 引用标签的值

<properties>

<spring-version>4.1.6.RELEASE</spring-version>

</properties>

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>${spring-version}</version>

</dependency>

</dependencies>

</dependencyManagement>

5.5 子项目

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

</dependency>

</dependencies>

Maven项目之间的关系的更多相关文章

  1. Maven项目之间关系介绍

    Maven项目之间的关系 依赖关系 单纯的项目A中需要项目B中的资源,将项目B打成Jar包被A依赖,此时项目A直接调用项目B中资源即可. 项目A和项目B此时形成最基本的依赖关系. 继承关系 需要场景: ...

  2. Maven学习:项目之间的关系

    Maven不仅可以定义一个项目中各个模块之间的关系,还可以更延伸一步定义项目与项目之间的关系. 定义父子项目的好处还是挺多的.

  3. 查看maven项目的依赖关系 mvn dependency:tree

    maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...

  4. maven项目pom继承关系

    <dependency>部分下添加<exclusions>标记 Dependencies:是可选依赖(Optional Dependencies) Exclusions:是依赖 ...

  5. Maven项目关系

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),其中最重要的就是POM文件,可以指定项目类型,项目关系等信息,maven项目之间有三种关系. 依赖 ...

  6. 手动创建Maven项目并建立两个项目之间的依赖关系

    用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...

  7. Maven学习 五 Maven项目创建(1)jar项目

    第一步:Maven项目的创建 File->new->Maven project. 点击下一步 上方的两个多选框选上,第一个是不使用archetype 原型模板,第二个是使用默认工作空间 点 ...

  8. 适AT maven多个子项目、父项目之间的引用问题

    适AT   maven多个子项目.父项目之间的引用问题 在项目时用到maven管理项目,在一个就项目的基础上开发新的项目:关于子项目和父项目,子项目与子项目之间的调用问题,发现自己存在不足,以下是自己 ...

  9. (二)maven依赖,两个项目之间如何依赖,继承实现

    maven的jar之间存在依赖关系的,我们在引入一个时,其他有依赖关系的也会被引入 依赖排除: 比如现在有两个依赖关系,A(x,java,y.java,z.java)  B(a,java,b,java ...

随机推荐

  1. linux5.6以下版本的不兼容问题

    之前一直用的都是mysql5.6版本,最近突然使用到了mysql5.1版本,于是在导入数据的时候便出现了很多由于版本不兼容的问题. 1.mysql5.1没有datetime类型,所以对于时间类型,只能 ...

  2. js对象以及DOM

    JavaScript的对象 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array.Date.R ...

  3. C#的两种类据类型:值类型和引用类型

    注:引用类型相等赋值是地址赋值,不是值赋值. 什么是值类型,什么是引用类型 概念:值类型直接存储其值,而引用类型存储对其值的引用.部署:托管堆上部署了所有引用类型. 引用类型:基类为Objcet 值类 ...

  4. SpringBoot应用部署到Tomcat中无法启动问题(初识)

    参考http://blog.csdn.net/asdfsfsdgdfgh/article/details/52127562 背景 最近公司在做一些内部的小型Web应用时, 为了提高开发效率决定使用Sp ...

  5. python-requests模块的讲解和应用

    在WINDOWS上可以通过命令行窗口(运行cmd命令), 利用pip进行自动地安装--------pip install requests 1.向网站发送请求:requests.get(url) 2. ...

  6. 最小化安装CentOS 7后,图形界面的安装(GNOME、KDE等)

    安装图形化界面: 1.首先安装X(X Window System),命令为 yum groupinstall "X Window System" 2.检查一下我们已经安装的软件以及 ...

  7. Oracle bacic

    1.连接Oracle 2.操作数据库 3.单表查询 4.SUID 5.常用函数 6.集合运算 7.Oracle 对象 8.PL/SQL 9.存储函数 10.存储过程 11.触发器 1.连接到数据库 O ...

  8. [UGUI]滑动列表优化(循环利用)

    需要注意的有下面几点: 1. 区分好表现上的index和逻辑上的index.表现上的index是指这个go是go列表中的第几项,但实际上这个index的意义并不大,因为在滚动的过程中go列表是轮转的: ...

  9. Robot Operating System (ROS)学习笔记4---语音控制

    搭建环境:XMWare  Ubuntu14.04  ROS(indigo) 转载自古月居  转载连接:http://www.guyuehome.com/260 一.语音识别包 1.安装         ...

  10. ios-复制字符串到剪贴板

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = self.label.text;