Maven

Maven是一个项目构建和管理工具,有助于开发者快速完成项目的配置,快速建立开发环境,从而提高开发效率。

  • 管理项目构建(build)的生命周期(清理、编译、测试、打包、发布、部署、报告等)
  • 使用标准的目录结构和默认的构建生命周期
  • 解决和管理项目依赖

POM文件

  • POM(Project Object Model,项目对象模型)
  • POM文件是描述项目构建信息的XML格式文件,位于项目的根目录。
  • 项目构建的关键信息,包括:项目代码、测试代码、资源、依赖的包等。

Maven的版本管理规范

  • SNAPSHOT : 一般用于开发过程中,表示不稳定的版本。
  • LATEST : 特定构件的最新发布,可能是SNAPSHOT版,也可能是RELEASE。
  • RELEASE : 最后一个发布版。

Maven安装

Maven - Installing

以Window系统为例:

  1. 确认是否已安装JDK并配置系统变量JAVA_HOME
  2. 安装Maven,配置系统变量M2_HOME, 并将bin目录添加到系统path
  3. 运行mvn -version命令测试是否安装成功
  4. 修改Maven配置文件settings.xml添加本地Maven仓库
  5. 设置远程Maven仓库,例如:在无法访问国外远程仓库情况下设置阿里云镜像

Maven资源仓库

Maven资源库为依赖包提供来源。

如果本地仓库中的没有相应的依赖包,默认继续在中央或远程仓库查找,下载后会放到本地仓库。

  • 中央仓库:Maven官方维护的仓库。
  • 远程仓库:在远程服务器上建立的私有性质仓库,本质类似于中央仓库。
  • 本地仓库:默认位于用户目录(windows: C:\Users\<username>\.m2),包含下载的所有依赖包。 可通过设置setting.xml更改本地仓库目录。

添加本地Maven仓库

在Maven配置文件settings.xml标签下,可以添加本地Maven仓库。

例如:<localRepository>D:\DownLoadFiles\apache-maven-repo</localRepository>

设置远程Maven仓库镜像

可以在Maven配置文件settings.xml的部分,添加Maven远程仓库。

示例:设置阿里云镜像

  <mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>

Maven资源仓库地址

阿里云(国内):

Mavern官方

  1. http://repo1.maven.org/maven2/ (默认)
  2. http://repo2.maven.org/maven2/

其他

  1. http://mvnrepository.com/ (推荐)
  2. http://uk.maven.org/maven2/
  3. http://www.sonatype.org/nexus/
  4. https://maven.java.net/content/repositories/public/

在Maven资源仓库中可以查找到相关jar包的详细信息, 例如在http://mvnrepository.com/站点可以查找到jar包的版本/标签等信息.

在Eclipse中使用maven插件

Eclipse安装maven插件

当前Eclipse版本均已默认集成了标准maven插件。

如果需要更新或者安装其他相关插件,可以按照如下方法操作:

方法1:

菜单Help ---》Eclipse Marketplace,搜索maven关键字,选择安装对应的Maven插件。

方法2:

  1. 菜单Help ---》Install New Software...
  2. 输入栏Work with ---》输入“http://download.eclipse.org/releases/<Eclipse对应版本名称>”,得到Eclipse对应版本的所有插件列表
  3. 输入栏type filter text ---》输入“maven”,过滤得到maven相关插件列表
  4. 选择需要的插件进行安装,安装完成后重启eclipse
  5. 菜单Window ---》Preferences窗口 ---》Maven,进行相关设置

方法3:

  1. 菜单Help ---》Install New Software...
  2. 输入栏Work with的Add按钮 ---》 Name输入“m2e”,Location输入“http://download.eclipse.org/technology/m2e/releases”
  3. 选择需要的插件进行安装,安装完成后重启eclipse
  4. 菜单Window ---》Preferences窗口 ---》Maven,进行相关设置

方法4:

新版本的Eclipse均已默认集成了标准maven插件,升级Eclipse的同时,也就升级更新了maven插件。

通过Eclipse升级的方法,可以避免重新下载安装其他插件。

Eclipse配置Maven插件

  1. Window ---》Preferences ---》Maven ---》Installations ---》add,选择Maven安装目录,点击OK
  2. Window ---》Preferences ---》Maven ---》UserSettings

      User Settings : 修改为配置文件settings.xml的路径

      Local Repository :自定义的仓库目录,会自动更新为配置文件settings.xml里所写的路径

Eclipse创建Maven工程

  1. File ---> New ---> Maven Project
  2. 勾选"Create a simple project"和"Use default Workspace location" ---> Next
  3. 设置必要的项目参数, 然后点击Finish创建Maven工程
    • Group Id : 项目组织的唯一标识符,实际对应JAVA的包结构,一般都是组织域名的反写形式
    • Artifact Id : 项目的唯一标识符,实际对应项目的名称,就是项目根目录的名称
    • Version : 项目的版本
    • Pacaking : 项目的打包方式,默认为jar
    • Name : 项目的可读名称
    • Description : 项目的描述
  4. 创建完成后,项目的默认文件结构:
       pom.xml               核心配置,位于项目根目录
  src/main/java      源文件(不包含测试)目录
  src/main/resources   资源文件目录
  src/test/java      测试源文件目录
  src/test/resources    测试资源文件目录
  target/classes      src/main/java目录下源文件编译出来.class文件
  target/test-classes   src/test/java目录下源文件编译出来.class文件
  target       构建过程中的临时目录,构建包会生成在这里

Eclipse使用Maven进行构建

在Maven项目右击 ---> Run As, 选择对应的Maven操作进行构建。

参考信息

Maven - Maven速成的更多相关文章

  1. [Maven]Maven 那点事儿

    0. 前言 Jason Van Zyl,在 Java 十大风云人物排行榜上或许会看到他. 这兄弟是干嘛的? 他就是 Maven 的创始人,人们都尊称他为"Maven 他爸". 毋庸 ...

  2. [Maven]Maven入门教程

    概念 Maven是什么 Maven 是一个项目管理工具.它负责管理项目开发过程中的几乎所有的东西. 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应用程序类型,对于每一种支持的应 ...

  3. [Maven]Maven安装简述

    maven安装简述 1检查jdk安装 1.1cmd输入echo %JAVA_HOME%检查JAVA_HOME是否指向了正确的jdk安装目录 1.2cmd输入java-version检查window是否 ...

  4. [Maven]Maven非常详细完整的教程

    请参考:http://blog.csdn.net/u012152619/article/category/6239920 第四部分已看完 另外也可参看简书:http://www.jianshu.com ...

  5. [Maven]Maven详解

    转自:http://www.cnblogs.com/hongwz/p/5456578.html 一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar ...

  6. [maven] maven变量

    Maven内置变量说明: $${project.basedir}或{basedir} 项目根目录,即包含pom.xml文件的目录 ${project.version}或${version}表示项目版本 ...

  7. Maven——Maven核心概念

    原文:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...

  8. some knowledge of maven {maven实战}

    maven是跨平台的,不仅是一个构建工具,也是一个可以管理依赖的工具.它最大化的消除了构件的重复,并且提供了中央仓库,能帮我们自动下载构件.------------------------------ ...

  9. Maven - Maven基础

    1-下载及安装 1.1 - Maven - 项目管理利器 http://maven.apache.org/ Apache组织的开源项目. Maven是一个基于POM(Project Object Mo ...

随机推荐

  1. Ubuntu显示实时网速CPU内存等参数

    添加库 sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor 更新软件列表 sudo apt-get update 安装indica ...

  2. oracle 分组中排序(rank函数)

    需求: 查询每个供应商在每个类型产品销售的top50中有多少 分析: 1.查询,以指定字段(供应商.产品类型)分组,取每个分组的前50行,查看每个供应商的数量 2.使用rank函数给每个供应商.每个类 ...

  3. js 上传文件

    <input id="file_Up" name="file_Up" type="file" onchange="getFi ...

  4. IntelliJ IDEA 2017版 spring-boot 拦截器的操作三种方式

    一.注解方式 @WebServlet(urlPatterns = "/myServlet") public class MyServlet extends HttpServlet ...

  5. ZOJ 3216 Compositions (矩阵快速幂)

    题意:求把 n 拆成几个大于等于 k 的数的和的方案数. 析:根据题目很容易写出递推式,f[i] = f[i-1] + f[i-k],什么意思呢,f[i-1] 表示是进行加 1 操作,那么可以给 n- ...

  6. 微信小程序之基础入门

    微信小程序有几个基础的文件:js(JavaScript逻辑代码),json(页面配置),wxml(类似hthml布局),wxss(css样式) 我们使用app.json文件来对微信小程序进行全局配置, ...

  7. AngularJS实战之Controller之间的通信

    我们时常会在不同controller之间进行通信,接下来就介绍三种controller之间的通信方式 一.使用$on.$emit和$broadcast进行controller通信 虽然AngularJ ...

  8. Struts2之ModelDriven和Preparable拦截器

    首先struts.xml文件配置如下 默认拦截器设置为paramsPrepareParamsStack <package name="default" namespace=& ...

  9. 【python-crypto】导入crypto包失败的情况,怎么处理

    [python-crypto]导入crypto包失败的情况,怎么处理 是因为你自己安装的python的版本太高,所以自己降版本吧,捣鼓了一下午 pip install crypto pip insta ...

  10. java基础-day18

    第07天 集合 今日内容介绍 u  HashSet集合 u  HashMap集合 第1章   HashSet集合 1.1  Set接口的特点 Set体系的集合: A:存入集合的顺序和取出集合的顺序不一 ...