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. Linux内核模块编程之Helloworld(初级)

    注意printk那里,KERN_ALERT和打印消息之间是没有逗号的,搞得劳资查了半天才发现一直没有提示信息的原因 #include <linux/init.h> #include < ...

  2. What happens to our code? JavaScript 代码是怎样执行的

    1. 我们的代码第一步会被parser 语法分析程序分析. 如果没有报错之后 2. 生产SyntaxTree, 我们的代码会转换成machine code 3. 最终 我们的代码会被运行出来. 下面的 ...

  3. Python之安装pip

    安装Python之后,命令行语句定位到其安装目录下的Scripts目录 如我的安装目录是:D:\python\Scripts 然后执行命令:easy_install.exe pip就会开始安装pip ...

  4. 著名软件工程师与作家、极限编程的创始者、JUnit作者之Kent Beck

    Kent Beck,1961年出生,中文名肯特贝克,美国著名软件工程师与作家,在软件工程方面有很大的贡献.他是Smalltalk软件的开发者,设计模式的先驱,测试驱动开发的支持者,也是极限编程的创始者 ...

  5. 多层级sql查询

    SELECT ( SELECT ) FROM t_app_user WHERE parent_user_id = t.user_id /*多层级,t.user_id */ ) AS directCou ...

  6. Centos升级Python 2.7并安装pip、ipython

    https://www.cnblogs.com/technologylife/p/6242115.html

  7. zabbix moniter

    zabbix moniter http://blog.csdn.net/xiegh2014/article/category/6945291/2

  8. XE5 Android 开发数据访问server端[转]

    建立一个webservices  stand-alone vcl application 作为手机访问的服务端 1.new->other->webservices 2.选择 stand-a ...

  9. mongodb 安装(官方说明链接)

    这里面有很全的 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ 先截个图吧,都是标准的流程,按照操作,是可以安 ...

  10. 死磕!Windows下Apache+PHP+phpmyadmin的配置

    环境配置真的很烦很费时间,稍不小心就会出错,这是一个鸡肋体力劳动,耐心和忍耐少不了.这个资料已经非常详细了,其中变量和路径不是百分百吻合但是意思已经很清楚了.剩下的就是耐心的执行和琢磨了. 一.  A ...