Maven的简单配置说明
什么是Maven
Apache Maven,是一个软件,一个项目管理工具,它包含了一个项目对象模型 (Project Object Model POM),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
- POM:POM(project object model)是Maven对一个单一项目的描述。POM是Maven的核心,它是一个XML文件,包含了Maven用来创建项目所需要的项目配置的信息。
Maven 能够帮助我们干什么?
简言之,Maven 可以帮助我们完成以下工作:
- 项目构建
- 文档管理
- 生成测试报告
- 解决项目间依赖项
- 源代码版本管理
- 项目Releases
- 项目的分发
功能摘要(摘自官网)
- 遵循最佳实践的简单项目设置 - 在几秒钟内启动新项目或模块
- 所有项目的一致使用 - 意味着新开发人员进入项目的时间不会增加
- 卓越的依赖管理,包括自动更新,依赖关闭(也称为传递依赖)
- 能够轻松地同时处理多个项目
- 一个庞大且不断增长的库和元数据库,可以立即使用,并与最大的开源项目一起安排,以实现最新版本的实时可用性
- 可扩展,能够轻松编写 Java或脚本语言的插件
只需很少或不需要额外配置即可即时访问新功能
用于在Maven之外进行依赖关系管理和部署的Ant任务 - 基于模型的构建:Maven能够根据项目的元数据将任意数量的项目构建到预定义的输出类型(如JAR,WAR或分发)中,而无需在大多数情况下执行任何脚本。
- 项目信息的连贯站点:使用与构建过程相同的元数据,Maven能够生成包含您需要添加的任何文档的网站或PDF,并添加有关项目开发状态的标准报告。在“项目信息”和“项目报告”子菜单下,可以在本网站左侧导航栏的底部看到此信息的示例。
- 发布管理和发布发布:没有太多额外配置,Maven将与您的源代码控制系统(如Subversion或Git)集成,并根据特定标记管理项目的发布。它还可以将其发布到分发位置以供其他项目使用。Maven能够发布单个输出,例如JAR,包含其他依赖关系和文档的存档,或者作为源代码分发。
- 依赖管理:Maven鼓励使用JAR和其他依赖项的中央存储库。Maven附带了一种机制,您的项目客户可以使用该机制从中央JAR存储库下载构建项目所需的任何JAR,就像Perl的CPAN一样。这允许Maven的用户跨项目重用JAR并鼓励项目之间的通信,以确保处理向后兼容性问题。
Maven安装和配置
配置Maven环境
注意,安装Maven前要首先配置jdk环境变量,否则运行mvn -v查看Maven版本时会出现以下提示

- 下载apache-maven文件(最新版本:3.6.3):
下载地址:http://maven.apache.org/download.cgi
- 解压文件至文件夹
注意:文件路径不要含有中文字符及空格 - 配置环境变量
-
Windows环境
-
新建:MAVEN_HOME(M2_HOME) :
D:\server\maven\apache-maven-3.5.0 (自己的文件解压路径)
-
修改path:在path最后面添加:
;%MAVEN_HOME%\bin

-
打开命令提示符,输入: mvn -v,显示以下信息表示配置成功

-
-
基于Unix的操作系统(Linux和Mac OS),以Mac OS为例。
-
打开终端,输入:
vim ~/.bash_profile,按Enter -
添加以下代码并退出vi:
export M2_HOME=/usr/local/apache-maven-3.5.4(解压后的文件夹路径)export PATH=$PATH:$M2_HOME/bin
(退出vi:1.按Shift + ;2.输入:wq 3.按Enter) -
输入命令:
source ~/.bash_profile,按Enter -
输入命令:
mvn -v显示以下信息表示配置成功
-
配置Maven本地仓库、镜像仓库
-
根据个人情况,新建仓库文件夹;
-
配置Maven\conf\文件夹中setting.xml文件
- 配置本地仓库地址(根据自己的情况选择路径)
<localRepository>D:\Apps\Maven\repository</localRepository>- 配置镜像
在<settings><mirror></mirrors></settings>之间插入以下代码(阿里云镜像)
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>*</mirrorOf> </mirror> -
了解更详细的setting.xml的配置,可以访问以下网址:http://www.cnblogs.com/yangxia-test/p/4409736.html
IDEA中配置及使用Maven
IDEA配置Maven
IDEA自带了apache maven,默认使用的是内置maven,所以我们可以配置全局setting,来调整一下配置。

在IDEA中使用Maven创建项目
- 依照以下步骤创建项目




第一次创建项目需要等待一段时间,Maven需要下载jar包
目录:
还需要自己创建一些文件夹,创建完成后结构如下

java:存放源代码
com.chixing:存放个模块
resources:存放资源文件
test/java:存放测试代码
test/resources:存放测试所需资源文件
通用目录结构
|-- pom.xml
|-- src
| |-- main
| | `-- java
| | `-- resources
| | `-- filters
| `-- test
| | `-- java
| | `-- resources
| | `-- filters
| `-- it
| `-- assembly
| `-- site
`-- LICENSE.txt
`-- NOTICE.txt
`-- README.txt
src/main/java 项目的源代码所在的目录
src/main/resources 项目的资源文件所在的目录
src/main/filters 项目的资源过滤文件所在的目录
src/main/webapp 如果是web项目,则该目录是web应用源代码所在的目录,比如html文件和web.xml等都在该目录下。
src/test/java 测试代码所在的目录
src/test/resources 测试相关的资源文件所在的目录
src/test/filters 测试相关的资源过滤文件所在的目录
上面的目录结构,我们接触的比较多,而下面的这些目录结构,用的相对不是很多:
src/it 集成测试代码所在的目录,主要是供别的插件使用的。
src/assembly 组件(Assembly)描述符所在的目录
src/site 站点文件
LICENSE.txt 项目的许可文件
NOTICE.txt 该项目依赖的库的注意事项
README.txt 项目的readme文件
- 在根目录下,主要有两个目录,分别是
src和target目录,除此之外,还会有一些版本控制系统的元数据文件,包括git的.gitignore或者svn的.svn。
修改设置:


Maven常见命令
| 命令 | 含义 |
|---|---|
| mvn archetype:create | 创建Maven项目 |
| mvn compile | 编译源代码 |
| mvn test | 运行应用程序中的单元测试 |
| mvn install | 在本地Respository中安装jar |
| mvn clean | 清除项目目录中的生成结果 |
| mvn site | 生成项目相关信息的网站 |
| mvn package | 根据项目生成jar |
Maven生命周期
Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”的。这三套生命周期分别是:
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle 生成项目报告,站点,发布站点。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
