Maven 项目POM文件的基本介绍

Maven 项目POM文件的基本介绍

maven的核心配置文件pom.xml文件,今天就解析这个配置文件。maven工程的核心文件就是这个pom文件了,每个工程在创建的时候都会有一个pom.xml配置文件,这个文件就是maven配置依赖、插件,管理项目及构建的入口,所有的配置都会在这文件里面,所以需要搞懂这个文件的基本配置。

1.POM文件配置项

出处

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <!-- The Basics -->
  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>
  <packaging>...</packaging>
  <dependencies>...</dependencies>
  <parent>...</parent>
  <dependencyManagement>...</dependencyManagement>
  <modules>...</modules>
  <properties>...</properties>
 
  <!-- Build Settings -->
  <build>...</build>
  <reporting>...</reporting>
 
  <!-- More Project information -->
  <name>...</name>
  <description>...</description>
  <url>...</url>
  <inceptionYear>...</inceptionYear>
  <licenses>...</licenses>
  <organization>...</organization>
  <developers>...</developers>
  <contributors>...</contributors>
 
  <!-- Environment Settings -->
  <issueManagement>...</issueManagement>
  <ciManagement>...</ciManagement>
  <mailingLists>...</mailingLists>
  <scm>...</scm>
  <prerequisites>...</prerequisites>
  <repositories>...</repositories>
  <pluginRepositories>...</pluginRepositories>
  <distributionManagement>...</distributionManagement>
  <profiles>...</profiles>
</project>

2.POM文件基本不可缺少的配置项

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>my-project</artifactId>
  <version>1.0</version>
</project>

2.1 modelVersion

maven的模型版本,跟随maven定义,一般不能修改

2.2 groupId

项目的组织,一般是顶级域名名称+公司或者组织名称,如alibaba的项目组织为com.alibaba,如果你们公司的域名为www.abc.com,那你们的项目组织最好就以com.abc命名。

2.3 artifactId

项目的名称,也是项目之间引进依赖的重要标识。像alibaba有个dubbo项目,dubbo项目可能又关联了许多子项目,所以artifactId就会定义有dubbo、dubbo-config这样的工程。

2.4 version

项目的版本,项目迭代开发,可能经历许多个版本,靠这个定义,认是打包的组成部分,如dubbo-2.8.4.jar。另外,版本有两个概念,0.0.1-SNAPSHOT这样的是快照版本,0.0.1-RELEASE或者不带SNAPSHOT的就是RELEASE版本。

2.5 packaging

打包类型,有这几种类型:pom, jar, maven-plugin, ejb, war, ear, rar, par,认不填就是jar包,一般常用的是pom、jar、war。

2.6 properties

配置公共属性,如spring-web,spring-aop你要依赖这两个,它们肯定是同一个版本的如4.5.0,可以把版本号放在属性统一管理,也方便维护。

翻阅官方的文档:

http://maven.apache.org/pom.html

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...