万隆的笔记 万隆的笔记
博文索引
笔试面试
  • 在线学站

    • 菜鸟教程 (opens new window)
    • 入门教程 (opens new window)
    • Coursera (opens new window)
  • 在线文档

    • w3school (opens new window)
    • Bootstrap (opens new window)
    • Vue (opens new window)
    • 阿里开发者藏经阁 (opens new window)
  • 在线工具

    • tool 工具集 (opens new window)
    • bejson 工具集 (opens new window)
    • 文档转换 (opens new window)
  • 更多在线资源
  • Changlog
  • Aboutme
GitHub (opens new window)
博文索引
笔试面试
  • 在线学站

    • 菜鸟教程 (opens new window)
    • 入门教程 (opens new window)
    • Coursera (opens new window)
  • 在线文档

    • w3school (opens new window)
    • Bootstrap (opens new window)
    • Vue (opens new window)
    • 阿里开发者藏经阁 (opens new window)
  • 在线工具

    • tool 工具集 (opens new window)
    • bejson 工具集 (opens new window)
    • 文档转换 (opens new window)
  • 更多在线资源
  • Changlog
  • Aboutme
GitHub (opens new window)
  • Maven

    • Maven 简介和安装
    • Maven仓库
    • Maven 依赖机制
    • 解决Maven无法自动下载依赖的问题
    • Maven POM
      • 什么是POM?
      • POM例子
    • Hello-Maven
    • Maven插件
    • Maven快照
    • Maven常用命令
    • Maven 模块化开发
  • Issue

  • Maven
  • Maven
2021-03-09
目录

Maven POM

# Maven POM

Maven是个工具,与我们项目的开发、程序是隔离的,要使得他们进行关联,那么就要一个桥梁,对于Maven来说就是POM文件。

# 什么是POM?

POM代表项目对象模型。它是Maven中工作的基本单位,这是一个XML文件。它始终保存该项目的基本目录中。

POM包含的项目是使用Maven来构建的,它用来含各种配置信息。

POM也包含了目标和插件。在执行任务或目标时,Maven会使用当前目录中的POM。它读取POM得到所需的配置启息,然后执行。以下是POM文件中可以使用的配置:

  • project dependencies
  • plugins
  • goals
  • build profiles
  • project version
  • developers
  • mailing list

创建一个POM之前,应该要先决定项目组(groupId),它的名字(artifactId)和版本(version),因为这些属性在项目仓库是唯一标识的。

# POM例子

<?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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.wenwl.sms</groupId>
    <artifactId>sms_mservice</artifactId>
    <version>1.0</version>
</project>

每个项目中只有一个POM文件。

  • pom.xml中必须要填写三个字段:groupId、artifactId、version
  • 在库中,项目符号是 groupId:artifactId:version
  • pom.xml的根元素是 <project> ,有三个主要的子节点。
节点 描述
groupId 项目组编号,通常来说是唯一的。常见的是用域名反转的方式命名,目的是为了全球唯一。
artifactId 项目ID,通常是项目的名称。除了groupId外,artifactId也定义了artifact在存储库中的位置。
version 项目的版本。与groupId一起使用,artifact在库中用于将版本彼此分离。通常采用语义化版本规范

语义化版本规范

version通常语义化版本规范来命名。通过.分隔开数字,每一段数字代表不同的含义,通常来说分为3段:

  1. 第一段代表整个项目的架构改变;
  2. 第二段代表增加或减少了功能;
  3. 第三段代表修复了bug。

例如 1.0.0 版本的软件,假如修复了几个bug,可以更改版本号为1.0.10;如果是修复了在一段时间后,业务或需求上砍掉了部分的功能或者添加了功能,则可能更改版本号为1.2.0;如果是在整个软件的架构或者大改的情况下,通常会改变第一个数字,改版为2.0.0等。以上只是常见的的一种语义化版本规范命名,不排除有以十进一的方式来命名。

上次更新: 5/30/2023, 10:03:37 PM
Hello-Maven

Hello-Maven→

最近更新
01
2025
01-15
02
Elasticsearch面试题
07-17
03
Elasticsearch进阶
07-16
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式