pom.xml文件:

  groupId  定义了项目属于哪个组,根据自己的情况命名,比如谷歌公司的angular项目,就取名为 com.google.angular
  artifactId   定义了当前Maven项目在组中唯一的ID,比如定义angular。
  version   指定了项目当前的版本0.0.1-SNAPSHOT,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的。
  name     元素生命了一个对于用户更为友好的项目名称,虽然这不是必须的,但还是推荐为每个POM声明name,以方便信息交流

 <dependencies>
<dependency>
<groupId>实际项目</groupId>
     <artifactId>模块</artifactId>
     <version>版本</version>
     <type>依赖类型</type>
     <scope>依赖范围</scope>
     <optional>依赖是否可选</optional>
     <!—主要用于排除传递性依赖-->
     <exclusions>
     <exclusion>
        <groupId>…</groupId>
          <artifactId>…</artifactId>
       </exclusion>
     </exclusions>
  </dependency>
<dependencies>

根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或者多个项目依赖。每个依赖可以包含的元素有:  

  grounpId、artifactId和version:    以来的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。
  type:                依赖的类型,对于项目坐标定义的packaging。大部分情况下,该元素不必声明,其默认值为jar
  scope:                依赖的范围
  optional:               选择性依赖,在依赖项目中配置去除依赖的传递性,
  exclusion              排除依赖,在引入项目中配置去除指定依赖
  <properties></properties>                  统一设置版本号,$(name)取值,具有传递性。
  <dependencyManagement></dependencyManagement>     管理共同依赖的jar包,使其他项目继承时使用的是同一个版本jar包

Maven依赖规则:
  1.路径最近者优先,c->b->a,c依赖b,b依赖a,c会优先采用b的jar包
  2.路径相同配置最前者优先,c->b,c->a,c依赖b,c也依赖a,必须看b,a在c中声明顺序,优先使用先声明的jar包

  • 引入 net.sf.json.JSONObject 类配置POM,JSONObject需要依赖如下依赖包

json-lib  commons-beanutils  commons-collections  commons-lang  commons-logging  ezmorph

 <properties>
<!--JSONObject-->
<json-lib.version>2.4</json-lib.version>
<commons-lang.version>2.5</commons-lang.version>
<commons-collections.version>3.2.</commons-collections.version>
<commons-beanutils.version>1.8.</commons-beanutils.version>
<commons-logging.version>1.1.</commons-logging.version>
<ezmorph.version>1.0.</ezmorph.version>
</properties>
 <!--JSONObject-->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>${json-lib.version}</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${commons-beanutils.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>${ezmorph.version}</version>
</dependency>
<!-- apache-common -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${commons-lang.version}</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>${commons-collections.version}</version>
</dependency>

参考资料:http://mvnrepository.com/artifact/net.sf.json-lib/json-lib/2.4    

  • fastjson中JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。
 <properties>
<fastjson.version>1.2.</fastjson.version>
</properties>
 <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>

Maven常用命令:

mvn clean:表示运行清理操作(会默认把target文件夹中的数据清理)。
mvn clean compile:表示先运行清理之后运行编译,会将代码编译到target文件夹中。
mvn clean test:运行清理和测试。
mvn clean package:运行清理和打包。
mvn clean install:运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以调用。
mvn clean deploy:运行清理和发布(发布到私服上面)

maven添加管理多个模块:
1.新建立maven项目,删除src目录;
2.右键新加Module,选择新建maven-webapp项目,路径选择新加模块文件夹
3.IDEA自动添加子模块文件夹

  手动配置
主maven配置文件

 <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/maven-v4_0_0.xsd">
<modelVersion>4.0.</modelVersion>
<groupId>com.zsm.plugin</groupId>
<artifactId>Plugins</artifactId>
<name>Plugins Maven WebApp</name>
<url>http://maven.apache.org</url>
<!--打包类型选择pom -->
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<!--子模块-->
<module>BigData</module>
<module>FASTDFS</module>
</modules>
<dependencies>
</dependencies>
</project>

子模块配置文件添加如下:

<parent>
<artifactId>ZSMWeb</artifactId>
<groupId>com.ZSM</groupId>
<version>1.0.0</version>
</parent>

Maven配置引入本地jar依赖:

<dependency>
<groupId>com.fsnip</groupId>
<artifactId>fastdfs</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/lib/myself-client.jar</systemPath>
</dependency>

Version 定义规则:2.3.1012

主版本号:            表示项目的重大架构变更
此版本号:           表示较大范围的功能添加和变化
增量版本号:          一般表示重大bug修复
2.3.1012
snapshot             快照
alpha             内测
beta               公测
release             稳定版本
6A               最稳定版本
Final              正式版
Pro(professional)          专业版
Plus               加强版
Retail             零售版
DEMO              演示版
Build              内部标号
Delux             豪华版(deluxe:豪华的,华丽的)
Corporation|Enterprise      企业版
M1 M2 M3             M是milestone,里程碑
RC版本               RC(Release Candidate)。修订版本几乎不会加入新的功能,而主要着重于除错
SR               修正版
Trial               试用版
Shareware            共享版
Full                完全版

 推荐资料:http://www.cnblogs.com/ygj0930/category/973951.html

持续更新中,谢谢关注!

Maven Project pom.xml属性解析的更多相关文章

  1. Idea项目:Failed to create a Maven project ‘…pom.xml’ already exists in VFS 解决

    在IDEA里面创建Module,因为项目类型原因删掉,又重新创建一个新的,名字没有变.于是报错: Failed to create a Maven project: '**/***/pom.xml' ...

  2. maven课程 项目管理利器-maven 3-6 maven中Pom.xml的解析 3星

    本节主要讲了pom中常用的标签 1 常用的标签 2 非常用的标签 1 常用的标签 a 坐标 groupid 反写公司网址+项目名 artifactId 项目名+模块名 version 版本号:3位版本 ...

  3. Maven项目pom.xml文件简单解析

    Maven项目pom.xml简单解析 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h ...

  4. SSH项目搭建(四)——Maven的pom.xml配置

    史上最全的maven的pom.xml文件详解: https://www.cnblogs.com/qq765065332/p/9238135.html 下面的节点有不理解是啥意思的可以到上面链接的文章里 ...

  5. maven(4)------maven核心pom.xml文件常用元素分析

    在maven项目中,pom文件是核心文件 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <p ...

  6. 史上最全的maven的pom.xml文件详解(转载)

    此文出处:史上最全的maven的pom.xml文件详解——阿豪聊干货 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

  7. Maven项目pom.xml配置详解

    maven项目pom.xml文件配置详解,需要时可以用作参考: <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...

  8. (六)Maven之pom.xml文件简单说明

    通过前面几部分知识,我们对maven已经有了初步的印象,就像Make的Makefile.Ant的build.xml一样,Maven项目的核心是pom.xml.POM(Project Object Mo ...

  9. (转)Maven的pom.xml文件结构之Build配置build

    在Maven的pom.xml文件中,Build相关配置包含两个部分,一个是<build>,另一个是<reporting>,这里我们只介绍<build>. 1. 在M ...

随机推荐

  1. caller

    caller返回调用了当前函数的那个对象(谁call了当前函数,即当前函数的caller) 对于函数来说,caller 属性只有在函数执行时才有定义 假如函数是由顶层(window)调用的,那么 ca ...

  2. js技巧专题篇: 页面跳转

    本篇主要介绍网页上常见的页面跳转技术.页面跳转有几种方式,比较常用的是window.location.href,window.location.replace,window.open,当然还有目前比较 ...

  3. chrome浏览器好用的插件

    1.Chrome批量保存所有选项卡网址 + 批量打开复制网址小插件 批量保存所有选项卡网址插件:Copy All Urls 经常搜索一些东西,下班时无法处理完所有网页内容,比如做笔记什么的,又不舍得关 ...

  4. MySQL之 从复制延迟问题排查

    一.从库复制延迟问题 1.可能的原因如下(1)主从服务器处于不同的网络之中,由于网络延迟导致:(2)主从服务器的硬件配置不同,从服务器的硬件配置(包括内存,CPU,网卡等)远低于主服务器:(3)主库上 ...

  5. redis 学习资料

    redis 学习资料 网址 Redis 教程(菜鸟教程) http://www.runoob.com/redis/redis-tutorial.html Redis 命令参考 http://redis ...

  6. href="javacript:;" href="javacript:void(0);" href="#"区别。。。

    一.href="javacript:;"  这种用法不正确,这么用的话会出现浏览器访问“javascript:;”这个地址的现象: 二.href="javacript:v ...

  7. 【转】CUDA之Dynamic Parallelism详解

    转自:http://blog.csdn.net/Bruce_0712/article/details/63683264 CUDA之Dynamic Parallelism详解(一) 1. 循环的并行化: ...

  8. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(4)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(4) 1.老样子,首先运行tcl脚本建工程: Vi ...

  9. html-display标签

    标签可以分为行内标签和行间块级标签, 块级标签:占一行,如果父标签没有限高度,子标签会自动扩展父标签的高度,行内标签不能, 可以设置宽度 高度 padding margin 行内标签:    不能设置 ...

  10. 在同一台电脑安装python 2 和3,并且怎样安装各自的pip和模块

    安装python2.7 和 3.6不冲突直接安装就行 安装pip 访问https://pip.pypa.io/en/stable/installing/获取地址 curl https://bootst ...