POM

Project Object Model项目对象模型定义了项目的基本信息,用于描述项目如何构建,申明项目依赖,等等。

pom元素:

<modelVersion>4.0.0</modelVersion>

  <groupId>com.fwj.TestMvn</groupId>
<artifactId>TestMvn</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>TestMvn</name>
<url>http://maven.apache.org</url>

<project></project> 根元素。

<modelVersion>4.0.0</modelVersion>指定当前pom模型的版本,对于Maven2和Maven3来说,它只能是4.0.0

<groupId>com.fwj.TestMvn</groupId>groupId定义了项目属于哪个组,比如公司名字是fwj,项目名是TestMvn,那么groupId应该为com.fwj.TestMvn

<artifactId>TestMvn</artifactId>artifactId定义了当前Maven项目在组中唯一的Id。

<version>0.0.1-SNAPSHOT</version>指定当前项目的版本,snapshot意为快照,说名该项目还处于开发阶段。

<packaging>jar</packaging> 打包形式

<name>TestMvn</name>对于用户给为用好的项目名称,描述项目。

<url>http://maven.apache.org</url>

Java项目的类的包名应该基于groupId和artifactId,这样更加清晰,更加符合逻辑,包名应该为com.fwj.TestMvn.TestMvn

使用Maven进行编译

在项目的根目录下使用mvn clean compile

clean告诉Maven清理输出目录target/

compile告诉Maven编译项目主代码

使用Maven进行测试

mvn clean test

打包

mvn clean package 没有配置打包类型,默认打包jar

mvn clean install 安装包本地Maven仓库

执行test之前会执行compile,执行package之前会执行test,执行install之前会执行package。

构建项目骨架

mvn archetype:generate

管理依赖

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

dependencies下包含多个dependency声明项目的依赖。

<scope>test</scope>  scope表明依赖范围,若为test则表明依赖只对测试有用。如果在主代码中inport Junit代码,就会造成编译错误。如果不声明依赖翻译,则默认值就是compile,表明该代码对主代码和测试代码都有效。

初识Maven POM的更多相关文章

  1. Maven知识记录(一)初识Maven私服

    Maven知识记录(一)初识Maven私服 什么是maven私服 私服即私有的仓库.maven把存放文件的地方叫做仓库,我们可以理解成我门家中的储物间.而maven把存放文件的具体位置叫做坐标.我们项 ...

  2. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  3. myeclipse maven pom.xml 配置错误

    http://www.oschina.net/question/2265006_219341#tags_nav maven pom.xml 配置文件错误       腾讯云消息队列CMQ架构解析> ...

  4. scala maven pom文件

    老司机的spark maven pom文件 pom文件一: 4.0.0 <groupId>com.glsx</groupId> <artifactId>spark- ...

  5. maven pom 引入本地jar包

    maven pom 引入本地jar包 在pom.xml同级目录下新建lib文件夹,并放入本地jar包. 配置Jar包的dependency,包括groupId,artifactId,version三个 ...

  6. maven pom 属性介绍

    maven pom属性 内置属性(预定义,可直接使用) ${basedir} 表示项目根目录,即包含pom.xml文件的目录; ${version} 表示项目版本; ${project.basedir ...

  7. 在maven pom.xml中加载不同的properties ,如localhost 和 dev master等jdbc.properties 中的链接不一样

    [参考]:maven pom.xml加载不同properties配置[转] 首先 看看效果: 点开我们项目中的Maven projects 后,会发现右侧 我们profile有个可勾选选项.默认勾选l ...

  8. Maven pom.xml文件详解

    Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...

  9. (转)Maven pom.xml 配置详解

    背景:maven一直感觉既熟悉又陌生,归根结底还是自己不太熟. 1 什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者 ...

随机推荐

  1. iOS将image转90,180,270度的方法

    http://blog.sina.com.cn/s/blog_6602ffbc0101ckx3.html 这里要分享的是将image旋转,而不是将imageView旋转,原理就是使用quartz2D来 ...

  2. Timer和DispatcherTimer简单使用

    1. 设定计时器相关属性,使用委托方法处理事件触发 DispatcherTimer dispatcherTimer= new DispatcherTimer(); dispatcherTimer.Ti ...

  3. 【JZOJ4860】【NOIP2016提高A组集训第7场11.4】分解数

    题目描述 Dpstr学习了动态规划的技巧以后,对数的分解问题十分感兴趣. Dpstr用此过程将一个正整数x分解成若干个数的乘积:一开始令集合A中只有一个元素x,每次分解时从A中取一个元素a并找出两个大 ...

  4. Flask第一篇

    一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...

  5. iOS图片折叠效果:Layer的contentsRect属性和渐变层

    http://www.cocoachina.com/ios/20150722/12622.html 作者:@吖了个峥 授权本站转载. 前言 此次文章,讲述的是Layer的一个属性contentsRec ...

  6. Effective C++: 03资源管理

    所谓资源,就是一旦用了它,将来必须还给系统.C++中的资源有:内存.文件描述符.互斥锁.数据库连接.网络socket等. 13:以对象管理资源 1:像下面这个函数: void f() { Invest ...

  7. 提供SaaS Launchkit,快速定制,一云多端等能力,一云多端将通过小程序云实现

    摘要: SaaS加速器的技术中心能力中,将提供SaaS Launchkit,快速定制,一云多端等能力,加速应用上云迁移.降低应用开发和定制的门槛,提升效率.其中非常关键的一云多端能力将通过小程序云实现 ...

  8. 2017 ACM/ICPC Asia Regional Shenyang Online:number number number hdu 6198【矩阵快速幂】

    Problem Description We define a sequence F: ⋅ F0=0,F1=1;⋅ Fn=Fn−1+Fn−2 (n≥2). Give you an integer k, ...

  9. Flask学习之十二 使用boostrap

    英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xii-facelift 中文翻译地址:http://w ...

  10. Linux服务部署:nginx服务 nfs服务

    nginx服务 源码安装: yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -ylsta ...