• pom.xml


    一、什么是pom

    pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。

    主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。

     groupId 和artifactId没,不一定一样,这两个结合起来,想一个坐标系一样,知道这两个就好像知道的了 坐标系中哪个点一样,就能知道你用的是哪个jar包了。 一般这两个都是 提供jar的网站提供的。或者是自己 引用的自己的项目的jar包的值。

    二、代码体现

    1.最开始

    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">
        <groupId>com.binbinjiang</groupId>
        <artifactId>binbinjiang-jianshu</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>war</packaging>
        <name>my-jianshu</name>
    ...
    </project>
    
    • 第一行是 XML 头,指定了该 xml 文档的版本和编码方式;
    • 最重要的是 groupId、artifactId、version 这三行
      • groupId:定义当前 Maven 项目隶属的实际项目,一个实际项目下会有多个 Maven 项目。如一家公司开发的产品,groupId 就是公司/个人域名,但会包括众多的 Maven 项目;
      • artifactId: 定义实际项目中的一个 Maven 项目,一般用实际项目名称作为 artifactId 的前缀;
      • version:指定 binbinjiang-jianshu 工程的版本 - 1.0 SNAPSHOT,SNAPSHOT 意为快照,说明在该项目还处于开发中;

    2.dependencies

     

    这串代码就是 Maven 最核心的功能——依赖管理。本例调用了google guava 18.0 和 javax 6.0 的 jar 包

    • dependencies:所有的依赖在此范围内添加,包含诸多 dependency;
    • groupId,artifactId,version:定位到了需要调用 jar 包的坐标;
    • scope:定义依赖范围
      • *compile *:编译范围(默认),在所有的 classpath 中可用;
      • *provided *:已提供范围,provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用
      • *test *:测试范围,在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用
      • *runtime *:运行时范围,在运行和测试系统的时候需要,但在编译的时候不需要。如在编译的时候只需要JDBC api jar,而只有在运行的时候才需要JDBC
      • *system *:系统范围,依赖与provided 类似,但是你必须显式的提供一个对于本地系统中JAR 文件的路径

    三,运行项目时maven的生命周期

  • 相关阅读:
    刷新或关闭时调用onbeforeunload
    单词换行问题
    PhpStorm提高效率的使用方法及设置
    高质量代码编写
    数组去重
    HMTL5 本地数据库
    Html5 本地存储
    php array(object) 与xml相互转换
    pwnable.kr之leg
    文件上传漏洞及其绕过
  • 原文地址:https://www.cnblogs.com/huanlfu/p/11382003.html
Copyright © 2020-2023  润新知