• 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. JVM内存分析工具MAT使用

    1. 首先去官网下载MAT软件,路径如下: 点击打开链接 2. 将heap dump文件打开即可分析.

  2. tomcat中配置jmx监控

    1.在tomcat的start.bat中添加下面代码, -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote. ...

  3. cocos2d内存管理

    设想如下场景, 这是一个典型的内存合理分配的场景: 在一帧内, 有若干个函数, 每个函数都会创建一系列的精灵, 每个精灵都不同, 都会占用一定的内存, 精灵的总数可能会有1000个, 而一个函数只会创 ...

  4. cocos2d-x 内存管理浅析

    Cocos2d-x用create创建对象, 这个方法已经被引擎封装成一个宏定义了:CREATE_FUNC, 下面是这个宏定义的实现: #define CREATE_FUNC(__TYPE__) \   ...

  5. python 函数式编程工具

    有三个内置函数与列表一起使用时非常有用:filter().map()和reduce(). 1. filter(function, sequence)返回的序列由function(item)结果为真的元 ...

  6. 十进制转为N进制

    昨天笔试遇到的题,如果是正数,不断以余数做除法即可: void convert(int num, int N, vector<char>& data) { int number = ...

  7. hdu1455 dfs+剪枝

    Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  8. String和StringBuffer的转换

    从String到StringBuffer: StringBuffer sb = New StringBuffer("abcd");从StringBuffer到String: Str ...

  9. apache2 + virtualenv +djangocms

    命令记录: cd /var/www makedir django cd django/ virtualenv env --no-site-packages source /var/www/django ...

  10. haproxy simple cfg

    global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy user haproxy group hap ...