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. css 的float和inline-block区别

    CSS布局创建网站,浮动绝对占据了很大的比例.大块区域如主内容及侧边栏,以及在其中的小块区域,都可以看到浮动的影子.这里浮动是唯一的解决方案吗? 浮动通常表现正常,但有时候搞起来会很纠结.特别是处理内 ...

  2. MacOS配置双网

    目的 日常工作中,我们可能会同时需要用到公司的内网以及互联网,为了避免来回的切换,我们可以通过配置电脑的两个网卡来实现同时访问内网和互联网. 环境说明 互联网 无线网卡 网关 子网掩码 内网 有线网卡 ...

  3. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数 学习目标: 理解矩阵和与它相关的运算: 理解矩阵的乘 ...

  4. linux下清除tomcat缓存

    进入tomcat/bin目录下,执行命令:./shutdown.sh 然后执行命令:ps -aux ,查看tomcat是否真的关闭了 如果没有关闭则执行命令:kill -9 #pid来彻底关闭tomc ...

  5. KiCad 5.1.3 尝鲜版已经有了

    KiCad 5.1.3 尝鲜版已经有了 发现一个改动. 对调了对话框按钮的位置,和 Windows 习惯一样了.

  6. KiCad 不可以画线宽小于 0.2mm 的走线?

    KiCad 不可以画线宽小于 0.2mm 的走线? 有小伙伴在 QQ 群里反馈,KiCad 设置线宽规则时出现错误. 于是判断 KiCad 不可以画 BGA PCB,很显然我认为这是不可能的事情. 作 ...

  7. CSS3摆动动画效果

    效果图:红包在左右摇晃 代码如下: @keyframes upAnimation { 0 % { transform: rotate(0 deg);transition - timing - func ...

  8. 查看JAVA占用CPU高的线程日志

    # . 查看主进程占用cpu高 top # java # . 按照线程占用cpu由高到低进行排查: -o THREAD,tid, # USER %CPU PRI SCNT WCHAN USER SYS ...

  9. jq 监听返回事件

    <script> $(document).ready(function(e) {             var counter = 0;            if (window.hi ...

  10. C++:只用初始化列表初始化变量的几种情况

    1.类成员函数中const变量的初始化(也就是第一点) 有几个容易混淆的地方: (1)const 的变量只能通过构造函数的初始化列表进行初始化:(貌似在C++11中可以正常编译) (2)static ...