简介:一款服务于Java的自动化构建工具

1 安装

  1. 必须已经安装了jdk且配置了环境变量,注意查看当前maven版本支持的jdk版本

  2. 配置Maven的环境变量

    1. MAVEN_HOME
    2. PATH
  3. 使用mvn -v查看是否配置成功

2 核心概念

  1. 约定的目录结构
  2. POM:Project Object Model
  3. 坐标:使用三个向量在仓库中唯一定位一个Maven工程:
    1. groupId:组织、公司域名反写+项目名
    2. artifactId:项目名-模块名
    3. version:版本号
  4. 依赖范围
范围 编译期 测试期 部署运行期 典型用例
compile spring-core
test × × junit
provided × servlet-api
  1. 仓库

    • 本地仓库
    • 远程仓库
    • 镜像仓库
  2. 生命周期/插件/坐标
    • clean清理项目
    • default构建项目
    • site生成项目站点
  3. 继承
  4. 聚合

3 Maven下web工程的目录结构

4 自动构建Maven工程

使用mvn archetype:generate/create

mvn archetype:generate -DgroupId=com.mbq.maven -DartifactId=maven-java -DarchetypeArtifactId=maven-archetype-webapp

5 常用Maven命令

  • 注意:执行与构建过程相关的命令(编译、测试、打包),必须进入pom.xml所在的目录
  • 修改默认本地仓库的位置:找到maven安装目录下的conf/settings.xml,找到/path/to/local/repo修改为自定义的仓库目录
  • mvn compile:自动下载需要的jar包并编译java源文件
  • mvn test-compile:编译测试文件
  • mvn package:打包Maven工程
  • mvn clean:清空已编译的工程
  • mvn install:将自己的maven工程jar包安装到本地仓库
  • 将本地仓库目录下的ojdbc7.jar安装到本地仓库中
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=ojdbc7.jar
<!-- 安装完成后可引入依赖 -->
<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc7</artifactId>
  <version>12.1.0.2</version>
</dependency>

6 Maven常用依赖

<!-- json依赖 -->
<dependency>
     <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-databind</artifactId>
     <version>2.5.4</version>
</dependency>

7 maven install过程中跳过test集成测试

  1. mvn install -Dmaven.test.skip = true
  2. 在pom.xml中配置一个插件
<!-- 需要配在plugins中 -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skip>true</skip>
  </configuration>
</plugin>

Maven学习小结的更多相关文章

  1. Maven学习小结(七 生命周期[转])

    Maven2的阶段(生命周期)说明:Maven2拥有三套独立的生命周期,Maven的命令也是基于这些生命周期来说的.1.clean:清理先前构建的构件,又分为下面三个下阶段: a.pre-clean ...

  2. Maven学习小结(六 setting.xml详解[转])

    当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置.这包含了本地仓库位置 ...

  3. Maven学习小结(五 pom.xml详解[转])

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  4. Maven学习小结(四 聚合与继承)

    1.聚合 一次构建多个项目模块. 2.继承 为了消除重复,把很多相同的配置提取出来,例如groupid和version: 2.1 Maven中可以继承的POM元素 groupId :项目组 ID ,项 ...

  5. Maven学习小结(三 基本概念)

    1.Maven POM POM(Project Object Model)项目对象模型,是用Maven来管理项目里的一个叫做pom.xml的文件.所有的项目配置信息都被定义在这个文件中, 通过这个文件 ...

  6. Maven学习小结(二 项目构建过程)

    1.创建Maven项目 1.1 创建Maven项目的约定目录结构 1.2 编辑pom.xml <project xmlns="http://maven.apache.org/POM/4 ...

  7. Maven学习小结(一 初探)

    1.下载Maven,解压并设置到环境变量中 https://maven.apache.org/download.cgi 需要先设置“JAVA_HOME”,否则报错: 之后查看Maven版本成功: 1. ...

  8. maven -- 学习笔记(四)实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)

    Learn from:http://www.cnblogs.com/fangjins/archive/2012/05/06/2485459.html,感谢楼主的分享,才有下面的这篇学习小结 一.环境准 ...

  9. Maven学习- 使用Maven构建Web项目

    从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...

随机推荐

  1. C++编程见闻

    今天心血来潮,看到很多天借的一本书<轻松学C++编程>,书就一般,但是由于自己的刚开始学c++,勉强凑活来看吧,就把学习的过程亮出来,权且对自己的一种变相激励也好. 程序一 首先:打开vi ...

  2. J.U.C并发框架源码阅读(十一)DelayQueue

    基于版本jdk1.7.0_80 java.util.concurrent.DelayQueue 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is su ...

  3. 新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)- chess(威佐夫博奕)

    ---恢复内容开始--- 链接:https://www.nowcoder.com/acm/contest/116/G来源:牛客网 题意:一个棋盘,老王和小人下棋,棋子只能往下或者往左或者往左下走,小人 ...

  4. 用jmeter进行多用户并发压力测试

    测试要求如下,多用户同时登陆web应用程序,并进行操作,查看在多用户操作下,程序的performence.恰好,jemter下有个CSV Data Set Config,它用来设定一组参数,以便在向程 ...

  5. Lightoj 1348 Aladdin and the Return Journey (树链剖分)(线段树单点修改区间求和)

    Finally the Great Magical Lamp was in Aladdin's hand. Now he wanted to return home. But he didn't wa ...

  6. 求int最大值以及int二进制

    求int最大值:(((unsigned int)(~0))>>1) 求int的2进制串 string str = ""; int iNum = 100; for(int ...

  7. [LOJ6279]数列分块入门 3

    题目大意: 给你一个长度为$n(n\leq100000)$的序列$A$,支持进行以下两种操作: 1.将区间$[l,r]$中所有数加上$c$: 2.询问区间$[l,r]$中,严格小于$c$的最大数.思路 ...

  8. symbol(s) not found for architecture arm64

    问题如下:       解决:更改环境 ok   Standard architectures (armv7, arm7s)

  9. JavaScript入门:006—JS函数的定义

    JS函数的声明. 声明函数的格式例如以下: function 函数名(參数列表){ //函数语句: return 返回值; } 来看详细的函数声明.1.普通函数 <script type=&qu ...

  10. consist of, made up of

    consist vi.由……组成:由……构成(常和介词of构成固定搭配)made up of由……组成[例如] One year consists of 365 days.一年有365天.The te ...