zoukankan      html  css  js  c++  java
  • 一脚踩进java——Maven中项目之间的关系

    一、Maven项目目录结构(jar类型)

    1.1 截图

    1.2 src/main/java 真实目录的快捷目录,写java代码

    1.3 src/main/resources快捷目录

      1)存放配置文件

      2)虽然看见resources目录,但是所有配置文件最终被编辑放到class类路径

    1.4 src/test/java 写测试java代码

    1.5 src/test/resources 写测试配置文件

    1.6 pom.xml   maven的配置文件

      1)当前项目所依赖的其它 项目 或 jar 或 插件 等

    二、Maven之间的关系

    2.1 依赖关系

      1)标签<dependency>把一个项目的jar包引入到当前项目

      2)自动下载另一个项目所依赖的其它项目

    2.2 继承关系

      1)父项目是pom类型

      2)子项目是jar或war,如果子项目还是其它项目父项目,子项目也是pom类型

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

        ①如果子项目的<groupId>和<version>标签与父项目相同,子项目可以不用配

    <parent>
        <groupId>com.hq</groupId>
        <artifactId>maven-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>com.hq</groupId>
    <artifactId>maven-child</artifactId>
    <version>0.0.1-SNAPSHOT</version>

      4)父项目pom文件中看不到包含了哪些子项目,在逻辑上有父子项目关系

    2.3 聚合关系

      1)前提也是继承,父项目会把子项目包含在父项目中

      2)子项目的类型必须是Maven Module,而不是Maven Project

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

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

      <groupId>com.hq</groupId>
      <artifactId>maven-parent</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>pom</packaging>
      <modules>
          <module>maven-child1</module>
      </modules>

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

     <parent>
        <groupId>com.hq</groupId>
        <artifactId>maven-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>maven-child1</artifactId>

    2.4 聚合项目和继承项目的区别

      1)语义上聚合项目父项目和子项目关系性较强

      2)语义上单纯继承项目父项目和子项目关系性较弱

    2.5 <dependencyManagement>写在父项目

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

      2)子项目中只需要坐标的<groupId>和<artifactId>,<version>继承父项目

      3)在父项目中<properties>把所有版本号进行统一管理

    <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                    <version>5.2.5.RELEASE</version>
                </dependency>
            </dependencies>
    </dependencyManagement>

     2.6 父项目pom.xml

      1)<properties>子标签自定义

      2)${名字}引用标签的值

    <properties>
        <sping-core>5.2.5.RELEASE</sping-core>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${sping-core}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
  • 相关阅读:
    map侧连接
    二次排序
    倒排索引
    多表关联
    单表关联
    Shuffle
    Partitioner
    Combiner
    CSS3中的多列
    CSS3动画
  • 原文地址:https://www.cnblogs.com/smilehq/p/12984384.html
Copyright © 2011-2022 走看看