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. Java 和 DynamoDB

    https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/GettingStarted.Java.html 官方

  2. python KMP算法介绍

  3. Python学习之路7☞装饰器

    一:命名空间与作用域 1.1命名空间 局部命名空间: def foo(): x=1 def func(): pass 全局命名空间: import time class ClassName:pass ...

  4. “不是不需要运维工程师,是人人皆是运维”|对话阿里云MVP蒋烁淼(上)

    摘要: 与湖畔大学首期学员.阿里云MVP.驻云创始人蒋烁淼面对面 [三位阿里云MVP(驻云CEO.首席架构师.大数据总监)<MVP时间>首次同台授课,“湖畔第一大脑” 蒋烁淼领头线上精讲, ...

  5. spider csdn博客和quantstart文章

    spider csdn博客和quantstart文章 功能 提取csdn博客文章 提取quantstart.com 博客文章, Micheal Hall-Moore 创办的网站 特色功能就是: 想把原 ...

  6. YUI css reset

    *{ margin:0; padding:0; } 以前写CSS都会在会在样式的开头部分添加上述的内容,今天才发现这种写法很不友好,会导致很多样式显示问题,所以并不适合所有的浏览器. 下面的是雅虎的c ...

  7. 项目中遇到的undo表空间不足的替换

    1.查找数据库的UNDO表空间名                                      select name from v$tablespace;                 ...

  8. Oracle包utl_inaddr

    作用:用于取得局域网或Internet环境中的主机名和IP地址. 1.utl_inaddr.get_host_address 环境中IP地址 如果查询失败,则提示系统错误 查询www.qq.com的I ...

  9. epoll简介(二)

    一:多路复用的举例 以一个生活中的例子来解释: 假设你在大学中读书,要等待一个朋友(数据)来访(要读),而这个朋友只知道你在A号楼(socket集合),但是不知道你具体住在哪里,于是你们约好了在A号楼 ...

  10. HZOJ 旋转子段

    作者的正解: 算法一:对于30%的数据: 直接枚举区间直接模拟,时间复杂度O(N3). 算法二:对于60%的数据:枚举旋转中心点,然后再枚举旋转的端点, 我们可以用O(n)的预处理求前缀和记录固定点, ...