maven详解之 pom.xml 解释

<project>:pom.xml的根标签,一个maven项目用一对<peoject></project>标签包裹。

<modelVersion>4.0.0</modelVersion>

<parent> <!-- 被继承的父项目的构件标识符 -->
<groupId>com.qjsoft.laser.controller</groupId><!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成 企业网址反写+项目名 -->
<artifactId>qjsoft-laser-controller</artifactId><!--本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 项目名-模块名-->
<version>0.0.1-SNAPSHOT</version> <!-- 本项目目前所处的版本号 版本号+类型 -->
<!--版本号由三个整数表示,每个整数用“.”分隔,表示:大版本号.分支版本号.小版本号
类型:版本类型。主要有:snapshot快照版本(简化版本)、alpha内测版、beta公测版、release稳定版、GA正式发布版-->
</parent>

<groupId>com.qjsoft.laser.controller</groupId> <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成 企业网址反写+项目名 -->
<artifactId>qjsoft-laser-controller-apadtation</artifactId> <!--本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 项目名-模块名-->
<version>4.0-SNAPSHOT</version> <!-- 本项目目前所处的版本号 -->
<packaging>pom</packaging> <!-- 打包的机制,如pom,jar, maven-plugin, ejb, war, ear, rar, par,默认为jar -->
<name>controller</name> <!--当前项目的名称-->

<!--项目开发者属性-->
<properties> <!--属性值标签,也叫变量标签。与Ant中的property一样,可以通过这个标签包含一些属性并指定属性值。
那么在pom.xml的其他地方,可以通过EL表达式访问变量的方法——${属性名} 来获取具体的属性值。
一般这个用来作为整个pom.xml中需要重复使用的内容或者全局变量使用。-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--文件拷贝时的编码-->
<yqbsoft-laser-service-suppercore.version>1.4.12</yqbsoft-laser-service-suppercore.version>
<yqbsoft-laser-service-domain-client.version>1.0.0-SNAPSHOT</yqbsoft-laser-service-domain-client.version>
</properties>

<!--依赖管理标签:主要用于制定父pom.xml,其他项目可以继承这个pom.xml,从而避免重复定义某些depency

父POM使用dependencyManagement能够统一项目范围中依赖的版本,当依赖版本在父POM中声明后,子模块在使用依赖的时候就无须声明版本,
也就不会发生多个子模块使用版本不一致的情况,帮助降低依赖冲突的几率。如果子模块不声明依赖的使用,即使该依赖在父POM中的dependencyManagement中声明了,
也不会产生任何效果

  1) 只能出现在父pom里

  2) 统一版本号

  3) 只是依赖声明,并不直接依赖,需要时在子项目中在声明要使用依赖的GA信息,V信息可以省略.-->

<depencyManagement>
<depencies>
<depency>
依赖包的坐标...
</depency>
</depencies>
</depencyManagement>

<build>:项目支持标签,一般用来引入插件
<build>
<plugins>
<plugin>
<!--插件坐标-->
<groupId> </groupId>
<artifactId> </artifactId>
<version> </version>

其他设置...

</plugin>
</plugins>
</build>

<properties>
<!-- 文件拷贝时的编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

<plugins>给出构建过程中所用到的插件。

compiler //编译

也可以通过<extensions>激活构建插件,从而改变构建的过程。

通常,通过<extensions>给出通用插件的一个具体实现,用于构建过程。

maven仓库

Maven仓库分为:本地仓库+远程仓库两大类
远程仓库 : http://mvnrepository.com/

远程仓库又分为:中央仓库+私服+其它公共远程仓库

原文地址:https://www.cnblogs.com/shenhaha520/p/9263161.html

时间: 2024-10-09 07:46:10

maven详解之 pom.xml 解释的相关文章

Maven详解及其环境配置

Maven详解 一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的.最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关于Maven的详解:就开始深入学习一下Maven的具体应用. 二.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们

(转载)maven详解

转载: http://www.cnblogs.com/hongwz/p/5456578.html Maven详解 一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的.最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关于Maven的详解:就开始深入学习一下Maven的具体应用. 二.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包

Maven详解(转载)

Maven详解 一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的.最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关 于Maven的详解:就开始深入学习一下Maven的具体应用. 二.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我

maven详解之生命周期与插件(二)

插件配置 定义解释:插件目标 当我们了解了maven插件之后,我们发现如果为每一个功能编写一个独立的插件显然是不可取的,因为这些任务背后有很多可以复用的代码,因此,把这些功能聚集在一个插件里,每一个功能我们就称之为一个插件目标. 举个例子: maven-dependency-plugin有十多个目标,每个目标对应了一个功能 分析项目依赖:dependency:analyze 列出项目依赖树:dependency: tree 列出项目所有已解析的依赖:dependency:list POM中插件全

maven如何下载和安装, Maven详解

[项目管理和构建]--Maven下载.安装和配置(二) blog.csdn.net 2015年05月01日 14:22 在上篇博文[项目管理和构建]--Maven简介(一)中我们了解到maven是一种全新的项目构建方式,让我们的开发更加简单,高效.Maven主要做的是两件事: 统一开发规范与工具 统一管理jar包 这两件事情他都做到了,而且还做了更多的事情.Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等.目前Apache下绝大多数项目都已经采用Maven进行管理.

Maven详解之仓库------本地仓库、远程仓库

在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径, 解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org.testng --->o

maven详解之坐标与依赖

看着简单而又复杂的pom.xml文件,看似熟悉,当自己编写的时候觉得简单,但是看人家项目的时候又觉得复杂的很,现在我们一起来分析这个pom文件. Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素: groupId: 定义当前Maven项目隶属的实际项目 artifactId: 该元素定义实际项目中的一个Maven项目或模块 version: 该元素定义Maven项目当前所处的版本 packaging: 该元素定义Maven项目的打包方式

Maven详解之聚合与继承

说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现. 一.为什么要聚合? 随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构.分模块开发,来提高代码的清晰和重用.针对于这一特性,maven也给予了相应的配置. 情景分析一: 我们在开发过程中,创建了2个以上的模块,每个模块都是一个独立的maven project,在开始的时候我们可

Maven详解 之 聚合与继承

说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现. 一.为什么要聚合? 随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构.分模块开发,来提高代码的清晰和重用.针对于这一特性,maven也给予了相应的配置. 情景分析一: 我们在开发过程中,创建了2个以上的模块,每个模块都是一个独立的maven project,在开始的时候我们可