• maven介绍

maven是构建工具,也是构建管理工具。ant只是构建工具,因为不支持生成站点功能,只有预处理,编译,打包,测试,部署等功能。

  • maven坐标

groupId:项目组织的逆向域名,比如Apache的项目可以org.apache开头

artfactId:表示groupId下单个项目的唯一标识

version:发布项目的版本,版本标识加上SNAPSHOT标记

packing:项目打包后的输出,默认为jar。指为war项目打包生成一个web项目。

groupId,artfactId,version标识项目的唯一性,packing可以缺省

  如:

填写 GroupId, ArtfactId,Version 等信息,他们的具体含义将在后文中介绍,点击 Finish,如图 8。

  • maven生命周期

介绍mvn package的生命周期,运行此命令的时候,有下图的几个阶段(左侧为阶段,右侧为阶段)

resources:resources:Resources插件把resources目标绑定到resources阶段,还有就是src/main/resources下的资源和配置输出到目标目录

compiler:compile:Compiler插件把complie目标绑定到compile阶段,还有就是把src/main/java下的源代码和配置文件输出到目标目录

resources:testRescources:Resources插件把tetsResources目标绑定到resources阶段,把src/test/resources下的资源和配置输出到目标目录

compiler:testCompile:Cpmpiler把compiler目标绑定到compile阶段,把src/test/java下的源代码和配置文件输出到目标

surefire:test:Surefire插件把test目标绑定到test阶段

jar:jar:Jar插件把jar目标绑定到package阶段,打包输出jar文件

  • maven仓库

默认仓库:http://repo1.maven.org/maven2/

本地仓库地址:C:\Users\baobao\.m2\repository

第一运行maven的时候,会从默认仓库下载很多默认的插件。构建项目的插件默认都是远程下载的。

默认仓库的地址,可以修改 。可以指向自己的服务器(用Apache Archiva搭建 maven 仓库服务器)。

  • maven依赖关系

maven依赖的不仅仅是一个jar文件,还有一个pom文件。这个pom文件声明了jar对其他的jar的依赖。这种依赖称之为传递性依赖 。

  1. <dependency>
  2. <groupId>junit</groupId>
  3. <artifactId>junit</artifactId>
  4. <version>3.8.1</version>
  5. <scope>test</scope>
  6. </dependency>

scope为test的时候,说明依赖范围是test,只有运行compile:testCompile和surefire:test目标的时候才会使用。其它的范围类似。

scope为provided的时候,依赖只是在编译的时候。

  • maven生成站点

运行mvn site命令,会在target/site目录下面看到一个web站点,运行index.html可以看到项目的一些基本信息,比如开发者

maven入门基础(转)的更多相关文章

  1. Maven入门详解

    什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...

  2. Maven入门详解以及Eclisp的集成

    1.首先要安装Maven到操作系统上 Maven的下载页面:http://maven.apache.org/download.html Maven跟Tomcat很像,下载下来后直接解压在指定的目录就安 ...

  3. Maven学习专题--Maven入门及安装

    因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...

  4. idea部署Maven入门(一)——环境变量的配置和下载

        介绍:       1  Maven是用来管理jar包的一种工具,       2  Maven主要是构建java项目和java web项目        3 maven项目管理所依赖的jar ...

  5. Maven入门详情

    Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差ja ...

  6. Maven 入门指南

    为什么要用 Maven? Maven 主要帮助用户完成以下 3 个方面的工作: 生命周期管理,便捷的构建过程: 依赖管理,方便引入所需依赖 Jar 包: 仓库管理,提供统一管理所有 Jar 包的工具: ...

  7. maven相关基础

    0. 本文主要参考一下良心maven原创文摘: 0.0 maven官网传送门 http://maven.apache.org/ 0.1 maven日常 http://www.cnblogs.com/x ...

  8. rocketmq那些事儿之入门基础

    分布式消息队列中间件作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性,其复杂性可见一斑,作为核心组件,有必要去深入了解学习 前言 分布式消息队列中间件主要具有以下优势: 削峰 ...

  9. IDEA + maven 零基础构建 java agent 项目

    200316-IDEA + maven 零基础构建 java agent 项目 Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说, ...

随机推荐

  1. LazyLoad.js及scrollLoading.js

    http://blog.csdn.net/ning109314/article/details/7042829 目前图片延迟加载主要分两大块,一是触发加载(根据滚动条位置加载图片):二是自动预加载(加 ...

  2. String、StringBuffer、StringBuilder的不同使用场景

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...

  3. leetcode150 Evaluate Reverse Polish Notation

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  4. Laravel5.1-错误和日志

    简介 这一章也是属于文档写得比较混乱的一章,所以我决定重新组织一下内容结构: 配置 debug配置 我们都知道,开发环境应该把debug打开,生产环境应该把debug关闭:这个设置在config/ap ...

  5. JNI_Android项目中调用.so动态库实现详解

    转自:http://www.yxkfw.com/?p=7223 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.java package com.wwj. ...

  6. linux中tar命令用法

    把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...

  7. 《lucene原理与代码分析》笔记

    1.全文索引相对于顺序扫描的优势:一次索引,多次使用 2.创建索引的步骤:(1)要索引的原文档 (2)将原文档传给分词组件(Tokenizer)分词组件会做如下事情:(此过程称为Tokenize)a. ...

  8. linux 文件系统sysvinit 流程分析

    参考网上许多的教程. 然后有一下相关的笔记: kernel 在挂载完文件系统后,会执行第一个进程init 这个进程的PID为1 这个进程是所有进程的父进程 init 进程,首先要去读取inittab中 ...

  9. 线段树基础模板&&扫描线

    线段树的单点更新+区间求和 hdu1166敌兵布阵 Input 第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N<=),表示敌人有N个工兵营地 ,接下来有N个正整数,第i个正整 ...

  10. CookieStore之Cookie的获取与保存

    Set<Cookie> allCookies = driver.manage().getCookies(); try { CookieStore cookiestore = new Bas ...