`

Maven的基本用法

阅读更多
Maven好几年前就成为Java企业级开发的标配了,不懂Maven,你都不好意思说你是Java开发者。甚至像Spring、Hibernate等开源框架早都已经用上更新的Gradle作为项目依赖管理工具。

笔者的博文也用Maven来描述jar依赖配置很久了,本文主要简单总结一下Maven的基本用法,以供自己博文中引用,给没学过Maven的读者参考参考。

一、Maven的安装
二、Maven的生命周期
三、Maven的配置文件settings.xml
四、Maven项目的配置文件pom.xml

一、Maven的安装
1、首先去Apache的Maven官网下载最新版本的Maven:http://maven.apache.org/download.cgi



Windows下下载apache-maven-3.3.9-bin.zip
linux下下载apache-maven-3.3.9-bin.tar.gz
maven最新版本是3.3.9,我用的是3.3.3,懒得下载了,不要在意这些细节。

2、将下载的zip压缩包解压到某个目录
这里将Maven解压到D:\SDK\Maven\apache-maven-3.3.3目录

3、将解压后的Maven目录配置到环境变量中去
以Maven目录为D:\SDK\Maven\apache-maven-3.3.3为例,即如下图所示
配置环境变量M2_HOME为:D:\SDK\Maven\apache-maven-3.3.3



配置环境变量Path为:%M2_HOME%\bin



4、验证Maven安装
windows下打开cmd,执行mvn -version



发现提示没找到JAVA_HOME,那么配置一下环境变量JAVA_HOME



配置好JAVA_HOME变量后,重新打开cmd执行mvn –version



至此,maven安装成功了。

二、Maven的生命周期
Maven的生命周期执行命令格式:mvn 任务名
Maven会执行生命周期内的所有在该任务之前的任务
如:mvn clean,会执行pre-clean和clean两个任务。

Maven有三套独立的生命周期,分别是clean、default、site。
clean的生命周期如下(mvn clean)
pre-clean -> clean -> post-clean
pre-clean:执行clean之前需要完成的任务
clean:清理上一次构建生成的文件
post-clean:执行clean之后需要立刻完成的任务

default的生命周期如下(这个是开发者用得最多的)
compile -> test -> package -> install -> deploy
compile:编译项目
test:测试项目
package:打包项目
install:发布项目到本地maven仓库
deploy:发布项目到远程maven仓库

site的生命周期如下
pre-site -> site -> post-site -> site-deploy
pre-site:执行site之前需要完成的任务
site:生成项目的文档站点
post-site:执行site之后需要完成的任务
site-deploy:将生成的文档站点发布到远程服务器

在mavn的这三套生命周期中,开发者还可以自定义插件,实现在生命周期的任意阶段添加任务。对我们开发者而言,一般是不需要编写maven插件的。

三、Maven的配置文件settings.xml
在maven的安装目录下,conf目录下的settings.xml是maven的全局配置文件,主要配置maven的本地仓库路径,插件组,maven的远程服务器和maven仓库的镜像,还有一些maven的全局设置。

1、配置maven的本地仓库路径(默认是操作系统用户下的.m2目录)
<localRepository>D:\SDK\Maven\m2_repository</localRepository>


2、插件组
我平时不用,如用到自行google

3、配置maven的远程服务器
<server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
</server>


4、配置maven仓库的镜像
<mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
</mirror>

我的maven常用镜像参考:http://jisonami.iteye.com/blog/2298592

5、maven的一些全局配置
这个我也不常用,就是在<profiles>标签下配置,需要结合<activeProfiles>使用

四、Maven项目的配置文件pom.xml
Maven最关键的部分来了,也是我们用的最多的配置文件pom.xml,每个maven项目都有一个pom.xml在其根目录下,用于描述该项目的jar依赖配置。

1、 确定一个Maven项目的坐标
这是Maven最基本的配置,在pom.xml中会用到很多。
<groupId>标签确定一个maven项目的公司名或组织名,一般使用该公司或组织的域名反转
<artifactId>标签确定一个maven项目的项目名或模块名
<version>标签确定一个maven项目的版本
以笔者目前的博文示例项目为例
<groupId>org.jisonami</groupId>
		<artifactId>Jisonami2</artifactId>
	<version>0.1.1</version>


2、 maven项目的父项目
<parent>标签确定一个maven项目的父项目,该maven项目会继承自父maven项目所有属性和依赖配置,在本项目中配置的同名属性或依赖会覆盖父项目中的配置
<parent>标签中使用前面介绍的maven坐标三元素确定父maven项目
以继承spring-boot-starter-parent项目为例
<parent>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-parent</artifactId>
			<version>1.3.3.RELEASE</version>
	</parent>


3、 maven项目的属性
maven项目的属性可以看成是编程语言中的变量,使用<properties>标签定义一些属性,此处定义的属性可以在在pom.xml文档中使用el表达式引用,即${name}的形式引用名为name的属性,属性一般用于maven坐标中的<version>标签,比如
<properties>
		<oracle6.version>11.2.0.3</oracle6.version>
</properties>


4、maven项目的依赖配置
Maven项目的依赖配置使用<dependences>配置,下面嵌套多个<dependence>标签,每个标签配置一个依赖,每个依赖使用maven坐标描述。如下所示:
< dependencies>
<!-- 引入oracle数据库jdbc驱动包 -->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>${oracle6.version}</version>
		</dependency>
	</dependencies>


5、maven的构建配置
maven的构建配置在<build>标签下配置,我们主要配置一下maven插件,比如使用spring-boot-maven-plugin,则如下配置:
<build>
		<plugins>
			<!-- spring boot项目编译插件 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.3.RELEASE</version>
			</plugin>
		</plugins>
	</build>


以上就是我经常使用的maven特性,更详细的配置参考我的Github项目Jisonami2:https://github.com/jisonami/Jisonami2
  • 大小: 37.2 KB
  • 大小: 15.7 KB
  • 大小: 17.4 KB
  • 大小: 2.8 KB
  • 大小: 6.4 KB
  • 大小: 15.7 KB
0
2
分享到:
评论
2 楼 jisonami 2016-05-23  
string2020 写道
http://blog.csdn.net/mn960mn/article/category/2300763

这博客还不错,你的?
1 楼 string2020 2016-05-23  
http://blog.csdn.net/mn960mn/article/category/2300763

相关推荐

    maven插件及其使用方法

    在本文中,我们将深入探讨Maven插件的使用方法以及如何在实际开发中有效地利用它们。 首先,了解Maven的生命周期至关重要。Maven生命周期包括清理(clean)、初始化(initialize)、构建(compile)、测试(test)...

    maven的基本使用和配置

    ### Maven 的基本使用和配置 #### Maven 介绍 Maven 是 Apache 软件基金会支持的一个项目管理工具,主要用于 Java 项目的构建与依赖管理。它通过一个项目对象模型(POM)来管理项目的构建、报告和文档。Maven 的...

    CXF实例一 Maven构建

    总的来说,【CXF实例一 Maven构建】是一个涵盖了Maven基本用法和CXF服务开发的教程。通过这个实例,开发者不仅可以学会如何使用Maven管理项目,还能掌握CXF框架的基本应用,从而更高效地构建和维护SOA系统。在实际...

    基本的maven框架demo ssm

    这个“基本的maven框架demo ssm”项目就是一个典型的SSM应用实例,旨在帮助开发者快速理解并上手这三个框架的集成与使用。 1. **Spring框架**:Spring是Java领域的一个全面的企业级应用开发框架,提供了依赖注入...

    maven使用文档,maven使用文档

    以上内容涵盖了 Maven 的基本使用方法及其核心概念。对于初学者来说,理解 Maven 的工作原理及其命令行用法是非常重要的。随着对 Maven 的深入了解,开发者能够更好地利用 Maven 来优化项目构建流程,提升开发效率。

    maven详细使用教程

    maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的安装与配置 maven的安装需要JDK 1.6以上的版本,从官网下载最新版本的maven,然后解压缩到指定的路径...

    maven教程-maven教程-maven教程

    通过本文的介绍,我们可以了解到Maven的基本概念、安装配置、基本使用和深入应用详解。 Maven的基本概念包括POM(Project Object Model,项目对象模型)、标准集合(archetype)、项目生命周期和依赖管理系统。POM...

    maven工具和安装方法

    ** Maven工具和安装方法 ** Maven是一款强大的项目管理和依赖管理工具,...通过以上内容,你已经对Maven工具有了全面了解,掌握了安装和基本使用方法,接下来可以进一步学习更高级的特性,提升项目构建和管理的效率。

    Maven exec-maven-plugin:执行外部命令的实践指南

    本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...

    Maven的安装包:apache-maven-3.6.1-zip

    **Apache Maven 3.6.1 安装与使用指南** ...通过以上步骤,你应该已经了解了如何安装和配置 Maven,以及它的基本使用方法。熟练掌握 Maven,可以极大地提高 Java 开发效率,使项目管理更加规范和高效。

    idea+maven使用教程

    1. **创建 Maven 项目**:选择 `New Project`,然后在向导中选择 `Maven`,填写基本的项目信息,如 `GroupId`, `ArtifactId`, `Version`。 2. **编写 POM.xml**:Maven 的核心是 POM.xml 文件,这里你可以声明项目...

    Maven 使用入门.pdf

    Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加专注于业务逻辑的开发。以下是 Maven 的主要优势: 1...

    使用Maven构建多模块项目

    Maven作为Java领域广泛使用的构建工具,提供了强大的支持来管理多模块项目。本文将深入探讨如何利用Maven构建多模块项目,以及在实际操作中需要注意的关键点。 1. Maven多模块项目结构: Maven多模块项目通常遵循...

    apache-maven-3.6.0

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。Maven 使用一种标准化的项目对象模型(Project Object ...通过理解其核心概念和使用方法,开发者可以更专注于编写代码,而非构建流程。

    使用Idea14.1.4和maven创建java web项目

    ### 使用Idea14.1.4和Maven创建Java Web项目 ...这个过程不仅让我们了解了IDEA和Maven的基本用法,也为今后的开发打下了坚实的基础。在实际开发过程中,还可以根据具体需求进一步完善项目结构和功能模块。

    maven安装及使用手册

    本手册将详细阐述Maven的安装过程及其在实际开发中的使用方法。 ### Maven的核心概念 1. **项目对象模型(POM)**: POM是Maven的核心,它是一个XML文件,包含了项目的基本信息,如项目名称、版本、依赖关系、构建...

Global site tag (gtag.js) - Google Analytics