安装

Maven是一个Java工具,因此你的电脑上必须安装有JAVA环境(JDK或者JRE)

首先,从官方下载 Maven ,我这里下载的是 3.5 的版本。

本文是在Mac环境中安装的,首先创建一个文件夹,将 tar 包解压缩。

bogon:tools rousseau$ tar -xvzf apache-maven-3.5.3-bin.tar.gz
bogon:tools rousseau$ cd apache-maven-3.5.3/
bogon:apache-maven-3.5.3 rousseau$ ./bin/mvn -version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: /Users/rousseau/tools/apache-maven-3.5.3
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"

将 bin 目录加入到你的环境变量中。

配置

Maven的配置分三个级别:Project级别、全局 Installation 和 用户 User 级别。用户的配置可以在 ${user.home}/.m2/settings.xml 文件中具体指定,这个文件不是必须的,如果没有就会使用默认配置。

配置本地 Repository

默认的 Repository 位置为 ${user.home}/.m2/repository/ ,可通过配置文件修改。

<settings>
...
<localRepository>/path/to/local/repo/</localRepository>
...
</settings>

配置代理 Proxy

其它还有并发配置 Parallel Artifact Resolution Configuration、安全及部署配置 Security and Deployment Settings

创建工程

首次执行的时候需要从Maven中央仓库下载一些依赖包,所以可能会花一些时间。由于网络超时的原因,很可能不会一次成功,需要多试几次。

bogon:maven rousseau$ ~/tools/apache-maven-3.5.3/bin/mvn archetype:generate -DgroupId=com.cocowool.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
# 工程创建后,可以查看目录结构
bogon:maven rousseau$ cd my-app/

生成的工程中,POM.xml 位于根目录下,src/main/java 存放工程代码,src/test/java 存放测试代码。

POM 文件

POM.xml 是Maven进行工程构建的最主要的配置文件,本文中的 pom.xml 如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cocowool.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

打包

执行mvn package可以对工程进行打包,输出 jar 包。

bogon:my-app rousseau$ ~/tools/apache-maven-3.5.3/bin/mvn package
[INFO] Building jar: /Users/rousseau/Projects/java.my/study/maven/my-app/target/my-app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:55 min
[INFO] Finished at: 2018-05-08T12:43:13+08:00
[INFO] ------------------------------------------------------------------------
# 生成的jar包存放在 target 目录下
bogon:my-app rousseau$ java -cp target/my-app-1.0-SNAPSHOT.jar com.cocowool.app.App
Hello World!

Maven 支持的阶段

Maven主要的阶段包含以下几个

名称 备注
validate 对工程进行校验
compile 编译工程的源文件
test 使用单元测试框架对工程进行测试
package 以部署的格式打包源代码,例如 jar 包
integration-test 如果需要,可以处理并将包部署到可进行整合测试的环境中
verify 运行并检查包是否符合质量要求
install 将包安装到本地仓库
deploy 将包拷贝到一个远程仓库供其他工程调用
clean 清理之前操作产生的临时文件
site 产生文档

后记

参考资料:

1、Maven

2、Maven in 5 Minutes

3、Installing Apache Maven

4、Configuring Maven

Maven 快速入门的更多相关文章

  1. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  2. (1)Maven快速入门_1maven安装

    Maven 快速入门 1.1 Maven官网下载     windows 系统 下载 下图红色框选处. 下载到本地解压, 创建一个本地maven仓库的目录 maven_lib 配置Maven的环境变量 ...

  3. Java实战及解析 — Maven快速入门

    五分钟快速入门 mvn --version mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Darche ...

  4. Maven快速入门(一)Maven介绍及环境搭建

    做开发的程序员都知道,在系统开发需要各自各样的框架.工具.其中有一种工具不管你是初级程序员还是高级程序员都必须熟练掌握的,那就是项目管理工具(maven.ant.gradle).接下来就总结Maven ...

  5. Maven快速入门(二)手动创建maven项目hellomaven

    之前讲过Maven介绍及环境搭建,介绍了maven的作用和如何搭建maven环境.接下来就以一个helloworld的例子来说一说如何创建maven项目以及maven项目的项目结构,最后讲maven如 ...

  6. Maven快速入门(三)Maven的坐标和仓库

    之前通过一个helloworld的例子来说一说如何创建maven项目以及maven项目的项目结构,然后讲maven如何编译运行项目.接下来介绍maven中几个比较重要的概念:坐标和仓库.Maven快速 ...

  7. Maven——快速入门手册(学习记录)

    前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...

  8. Maven入门指南① :Maven 快速入门及简单使用

    原文链接:http://www.cnblogs.com/luotaoyeah/archive/2014/06/02/3764533.html 开发环境 MyEclipse 2014 JDK 1.8 M ...

  9. Maven 系列 一 :Maven 快速入门及简单使用【转】

    开发环境 MyEclipse 2014 JDK 1.8 Maven 3.2.1 1.什么是Maven? Maven是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理. 2.下载及安装 下载最 ...

  10. maven快速入门

    一.maven maven可以说是管理项目的优秀工具,管理jar包 二.mave安装 1.先安装jdk(本文不详细讲) 2.安装maven ①.maven下载   http://maven.apach ...

随机推荐

  1. 关于x509、crt、cer、key、csr、pem、der、ssl、tls 、openssl等

    关于x509.crt.cer.key.csr.pem.der.ssl.tls .openssl等 TLS:传输层安全协议 Transport Layer Security的缩写 TLS是传输层安全协议 ...

  2. Flutter与Dart 入门

    Flutter简介 Flutter是google推出的,一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能.高保真地进行Android和IOS开发. Flutter是什么 Flu ...

  3. Net WebAPI2

    SwaggerUI ASP.Net WebAPI2   目前在用ASP.NET的 WebAPI2来做后台接口开发,在与前台做测试的时候,总是需要发送一个demo给他,但是这样很麻烦的,他还有可能记不住 ...

  4. Unit的各种断言

    今天遇到这个问题,就值得自己总结一下. 1.介绍 JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言.下面我们来介绍一下JUn ...

  5. EDMA3 笔记

          A-synchronized和AB-synchronized传输在1个frame传输完成后地址计算有所不同. A-synchronized: last array in the frame ...

  6. Java动态性之反射机制(reflection)

    说到反射机制,第一次接触的人可能会比较懵,反射?什么反射?怎么反射?反射是干嘛的?下面我将在这篇文章中讲讲Java的反射机制 不过在这之前,还有一个问题需要解决,标题名中的动态性,说起动态性,我先介绍 ...

  7. 阿里云Linux服务器,配置JDK,MySQL

    云服务器配置:低配 Linux CentOS 7.4 64位 选择空白镜像: 安装图形界面 yum groups install "MATE Desktop" yum groups ...

  8. java 中的同步机制

    对于有些场景,需要a.b线程按照顺序去执行,因为b线程要依赖a线程对某共享资源或 状态处理后,对于这种情况可以使用 private CountDownLatch connectedSignal = n ...

  9. css实现背景图片模糊

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. nginx 编译参数详解(运维必看)

    nginx参数: –prefix= 指向安装目录 –sbin-path 指向(执行)程序文件(nginx) –conf-path= 指向配置文件(nginx.conf) –error-log-path ...