快速上手Maven

本文关于Maven相关知识主要是基于网络整理基础上,加以编辑。具体参考文章,会在文末给出所有链接。

一、Maven是什么?

       Maven意为知识的积累者,也翻译为“专家”、“内行”,是Apache下的一个Java开发的开源项目。它基于项目对象模型(缩写:POM)和灵活的插件机制,可让开发人员更方便地进行项目构建、依赖管理、项目信息管理。

        目前Maven除应用于Java平台外,也被广泛应用于 C#,Ruby,Scala等其他语言编写的项目。

二、Maven的主要功能

  • 统一管理项目使用的依赖项
  • 一致的项目结构
  • 统一的构建系统和插件机制
  • 支持多模块构建

三、约定配置

       Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则。即可事先约定的,就要不通过配置完成,可配置完成的,就不要去编码实现。这样既省力又能防止出错。

目录 说明
/src/main/java java源码
/src/main/resource java配置文件、资源文件。如:property文件、springmvc.xml
/src/test/java java测试代码
target 打包输出目录。如:jar、war
/target/classes 编译输出目录。
/target/test-classes 测试编译输出目录
pom.xml 配置文件

四、Maven的优缺点

1.优点

  • 简化了项目依赖管理。
  • 便于与持续集成工具(Jenkins)整合。
  • 便于项目升级,无论是项目本身升级还是项目使用的依赖升级。
  • 有助于多模块项目的开发,一个模块开发好后,发布到仓库,依赖该模块时可以直接从仓库更新,而不用自己去编译。
  • Maven 有很多插件,便于功能扩展,比如生产站点,自动发布版本等。

2.缺点

  • Maven 是一个庞大的构建系统,学习难度大。
  • Maven 采用约定优于配置的策略(convention over configuration),虽然上手容易,但是一旦出了问题,难于调试。
  • 国内的网络环境差,很多 repository 无法访问,比如 Google Code、 JBoss 仓库无法访问等。可通过在在 <mirrors> 中增加阿里巴巴的 Maven 私服,具体可以参见 《提高 Maven 速度 —— Maven 仓库修改成国内阿里巴巴地址》 文章。

五.其它构建工具

       Java世界中主要有三大构建工具:Ant、Maven和Gradle。经过几年的发展,Ant几乎销声匿迹、Maven也日薄西山,而Gradle的发展则如日中天。

Mavent和Gradle的详细对比,参见 《Maven 和 Gradle 对比》 文章。

六、Maven常用命令

  • mvn archetype:create :创建 Maven 项目。
  • mvn compile :编译源代码。
  • mvn deploy :发布项目。
  • mvn test-compile :编译测试源代码。
  • mvn test :运行应用程序中的单元测试。
  • mvn site :生成项目相关信息的网站。
  • mvn clean :清除项目目录中的生成结果。
  • mvn package :根据项目生成的 jar/war 等。
  • mvn install :在本地 Repository 中安装 jar 。
  • mvn eclipse:eclipse :生成 Eclipse 项目文件。
  • mvn jetty:run 启动 Jetty 服务。
  • mvn tomcat:run :启动 Tomcat 服务。
  • mvn clean package -Dmaven.test.skip=true :清除以前的包后重新打包,跳过测试类。

用到最多的命令

  • mvn eclipse:clean :清除 Project 中以前的编译的东西,重新再来。
  • mvn eclipse:eclipse :开始编译 Maven 的 Project 。
  • mvn clean package :清除以前的包后重新打包。

七、Maven生命周期

       Maven有三个相互独立的生命周期,分别是 Clean、Default 和 Site。

       每个生命周期都有这个特点:不管用户要求执行的命令对应生命周期中的哪一个阶段,Maven都会自动从当前生命周期的最初位置开始执行,直到完成用户下达的指令。

1.Clean 生命周期:清理项目

    Clean生命周期可细分为以下3个阶段:

阶段 说明
pre-clean 执行清理前需要完成的工作
clean 清理上一次构建生成的文件
post-clean 执行清理后需要完成的工作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值