maven入门基础(转)
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的依赖。这种依赖称之为传递性依赖 。
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
scope为test的时候,说明依赖范围是test,只有运行compile:testCompile和surefire:test目标的时候才会使用。其它的范围类似。
scope为provided的时候,依赖只是在编译的时候。
maven生成站点
运行mvn site命令,会在target/site目录下面看到一个web站点,运行index.html可以看到项目的一些基本信息,比如开发者
maven入门基础(转)的更多相关文章
- Maven入门详解
什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...
- Maven入门详解以及Eclisp的集成
1.首先要安装Maven到操作系统上 Maven的下载页面:http://maven.apache.org/download.html Maven跟Tomcat很像,下载下来后直接解压在指定的目录就安 ...
- Maven学习专题--Maven入门及安装
因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...
- idea部署Maven入门(一)——环境变量的配置和下载
介绍: 1 Maven是用来管理jar包的一种工具, 2 Maven主要是构建java项目和java web项目 3 maven项目管理所依赖的jar ...
- Maven入门详情
Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差ja ...
- Maven 入门指南
为什么要用 Maven? Maven 主要帮助用户完成以下 3 个方面的工作: 生命周期管理,便捷的构建过程: 依赖管理,方便引入所需依赖 Jar 包: 仓库管理,提供统一管理所有 Jar 包的工具: ...
- maven相关基础
0. 本文主要参考一下良心maven原创文摘: 0.0 maven官网传送门 http://maven.apache.org/ 0.1 maven日常 http://www.cnblogs.com/x ...
- rocketmq那些事儿之入门基础
分布式消息队列中间件作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性,其复杂性可见一斑,作为核心组件,有必要去深入了解学习 前言 分布式消息队列中间件主要具有以下优势: 削峰 ...
- IDEA + maven 零基础构建 java agent 项目
200316-IDEA + maven 零基础构建 java agent 项目 Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说, ...
随机推荐
- LazyLoad.js及scrollLoading.js
http://blog.csdn.net/ning109314/article/details/7042829 目前图片延迟加载主要分两大块,一是触发加载(根据滚动条位置加载图片):二是自动预加载(加 ...
- String、StringBuffer、StringBuilder的不同使用场景
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...
- leetcode150 Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- Laravel5.1-错误和日志
简介 这一章也是属于文档写得比较混乱的一章,所以我决定重新组织一下内容结构: 配置 debug配置 我们都知道,开发环境应该把debug打开,生产环境应该把debug关闭:这个设置在config/ap ...
- JNI_Android项目中调用.so动态库实现详解
转自:http://www.yxkfw.com/?p=7223 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.java package com.wwj. ...
- linux中tar命令用法
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
- 《lucene原理与代码分析》笔记
1.全文索引相对于顺序扫描的优势:一次索引,多次使用 2.创建索引的步骤:(1)要索引的原文档 (2)将原文档传给分词组件(Tokenizer)分词组件会做如下事情:(此过程称为Tokenize)a. ...
- linux 文件系统sysvinit 流程分析
参考网上许多的教程. 然后有一下相关的笔记: kernel 在挂载完文件系统后,会执行第一个进程init 这个进程的PID为1 这个进程是所有进程的父进程 init 进程,首先要去读取inittab中 ...
- 线段树基础模板&&扫描线
线段树的单点更新+区间求和 hdu1166敌兵布阵 Input 第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N<=),表示敌人有N个工兵营地 ,接下来有N个正整数,第i个正整 ...
- CookieStore之Cookie的获取与保存
Set<Cookie> allCookies = driver.manage().getCookies(); try { CookieStore cookiestore = new Bas ...
