简介:一款服务于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. python--bs4

  2. 如何使用python下载网站上的视频

    youtube-dl 从名字上也能看出来,是专门用来下载YouTube的视频. 不过本人对YouTube不感兴趣,但是这个模块可以用来下载bilibili上的视频我们就来试一试 首先pip insta ...

  3. Python学习杂记_14_模块(二)_常用模块

    常用模块 random 模块 import random print(random.random()) # 随机浮点数,默认取0-1,不能指定范围 print(random.randint(1, 20 ...

  4. PHP获取IP的方法

    function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARD ...

  5. HDU 2955 【01背包+小数概率】

    Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  6. shell 查找目录

    查找目录:find /(查找范围) -name '查找关键字' -type d

  7. Spring Boot特点

    特点: 1.化繁为简,简化配置 2.备受关注,是下一代框架 3.为服务的入门级框架

  8. NHibernate官方文档——第八章 继承映射(Inheritance Mapping)

    本文翻译自NHibernate官方文档NHibernate Reference Documentation 4.1. 受限于个人知识水平,有些地方翻译可能不准确,但是我还是希望我的这些微薄的努力能为他 ...

  9. iOS app测试的福音--TestFlight使用说明

    Here's What's New: Invite up to 1,000 external testers using just their email address Easy to use Te ...

  10. ubuntu 安装 regex模块时 fatal error: Python.h: No such file or directory

    原因是 python-dev包没有安装 根据Py2还是py3 sudo apt-get install python-dev 或者 sudo apt-get install python3-dev 安 ...