zoukankan      html  css  js  c++  java
  • pom文件介绍

    一、什么是pom文件

      首先需要知道maven是啥。

    Maven 是专门用于构建和管理Java相关项目的管理工具。主要作用是jar管理和工程打包。

    POM是项目对象模型(Project Object Model)的简称,定义项目的基本信息,主要用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。

      使用groupdId:artifactId:version的形式来唯一确定一个项目

            POM之间的关系,继承、聚合与依赖

            继承:子项目继承父项目的pom.xml,在子项目中定义父项目

            依赖:一个dependency元素定义一个依赖关系

            聚合:聚合和关联多个项目中相同的配置,在被聚合项目中定义其子模块

            以使用${propertyName}的形式引用属性

    二、元素分解

    1 

    #指定xml版本和编码方式
    <?xml version="1.0" encoding="UTF-8"?>
    <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">

    2

        #groupId:定义当前 Maven 项目隶属的实际项目,一个实际项目下会有多个 Maven 项目。如一家公司开发的产品,groupId 就是公司/个人域名,但会包括众多的 Maven 项目;
       <groupId>com.binbinjiang</groupId>
      
       #artifactId
    : 定义实际项目中的一个 Maven 项目,一般用实际项目名称作为 artifactId 的前缀; <artifactId>binbinjiang-jianshu</artifactId>
       #version:指定 binbinjiang-jianshu 工程的版本 - 1.0 SNAPSHOT,SNAPSHOT 意为快照,说明在该项目还处于开发中
      <version>1.0-SNAPSHOT</version>
       #packaging:定义 Maven 项目的打包方式,有 JAR 、WAR 和 pom 三种格式,三者区别:https://www.cnblogs.com/JimShi/p/13540065.html
       <packaging>pom</packaging>

     3

       #在父maven文件中添加子maven模块
        <modules>
            <module>****</module>
        <module>****</module>
        <module>****</module>
            <module>****</module>
            <module>****</module>
        <module>****</module>
            <module>****</module>
        </modules>

    4

        #被继承父类的相关信息
        <parent>
             <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.2.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>

    5

        #该标签相对于定义一个变量为标签值,内容可以修改,在pom文件中可以通过${标签   }表示其内容
        <properties>
            <java.version>1.8</java.version>
            <spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
        </properties>

    6

       <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
                <!-- 集成mybatis -->
                <dependency>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                    <version>1.3.2</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.37</version>
                </dependency>
                <dependency>
                    <groupId>com.course</groupId>
                    <artifactId>server</artifactId>
                    <version>0.0.1-SNAPSHOT</version>
                </dependency>
    
        
                <!-- 阿里云oss -->
                <dependency>
                    <groupId>com.aliyun.oss</groupId>
                    <artifactId>aliyun-sdk-oss</artifactId>
                    <version>3.8.0</version>
                </dependency>
    
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>fastjson</artifactId>
                    <version>1.2.60</version>
                </dependency>
            </dependencies>
        </dependencyManagement>    

    7

        # https://www.cnblogs.com/JimShi/p/13541288.html
       <build> <plugins> <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin </artifactId> <version>1.3.7</version> <configuration> <configurationFile>src/main/resources/ generator/generatorConfig.xml </configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector- java </artifactId> <version>5.1.37</version> </dependency> </dependencies> </plugin> </plugins> </build>

    8待补充

  • 相关阅读:
    P1271 【深基9.例1】选举学生会(基数排序)
    P7076 [CSP-S2020] 动物园
    #10127. 「一本通 4.3 练习 1」最大数
    P2671 [NOIP2015 普及组] 求和
    P3369 【模板】普通平衡树
    P2503 [HAOI2006]均分数据
    P2846 [USACO08NOV]Light Switching G(动态开点写法)
    P6278 [USACO20OPEN]Haircut G
    P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G
    P1012 [NOIP1998 提高组] 拼数
  • 原文地址:https://www.cnblogs.com/JimShi/p/13540050.html
Copyright © 2011-2022 走看看