Maven(一)——Maven简介

当仅仅使用IDE工具而不使用项目管理工具开发Java Web程序的时候,会存在一些不便:

  • 去哪里下载下载依赖包,不同版本如何管理?
  • 编写源码、配置文件时,目录结构怎么定?
  • 编译、测试、打包、发行的构建流程不统一。
  • 项目代码共享以及依赖问题。
  • 版本如何管理?

Maven是什么

  • Apache基金会出品
  • 开源
  • java写的
  • 通常把Maven理解成一个项目构建和依赖管理工具

Maven的优势

  • 约定(惯例)优先原则。Maven默认限定了目录结构,减少了从一个项目到另一个项目的学习成本。
  • 三方依赖管理。远程仓库,第三方jar包都可以在其中下载,解决了依赖的维护问题。
  • Maven仓库对jar包(artifact)进行统一管理,避免jar文件的重复拷贝和版本冲突
  • 提供了一致的项目构建管理方式。把项目构建过程中的操作抽象成了生命周期,Maven定义了每个生命周期定义的操作。这样会减少项目构建的工作量。只需mvn install一条命令,项目就构建好了。
  • 插件式的构架,大量的可重用插件,很多构建逻辑都有可用的插件。
  • 很方便的集成IDE,eclipse、IDEA等都对其集成的很好。
  • 用Maven可以方便的创建项目,给予archetype可以创建多种类型的java项目。
  • 团队开发,Maven管理项目的RELEASE和SNAPSHOT版本,方便多模块(Module)项目的各个模块之间的快速集成。
  • 开源项目使用Maven,大家都使用Maven。

Maven的安装

  • 首先要确保电脑上已经安装了JDK

Windows下Maven的安装

  • 下载安装包。
  • 解压缩。
  • 配置系统环境变量。
    • 计算机属性->高级系统环境变量->高级->环境变量->系统变量中新建。
    • 增加环境变量。
      • MAVEN_HOME=D:\apache-maven-3.0.5
      • PATH中添加到maven安装目录下的bin目录:D:\apache-maven-3.0.5\bin;
      • 确定保存配置。
    • 确定保存配置。
    • 验证
      • 打开一个新的cmd窗口。
      • 输入mvn -version,出现版本信息证明安装完毕。

Linux下Maven的安装

  • 下载安装包。
  • 通过tar或unzip进行解压缩:tar -zxvf apache-maven-3.0.5-bin.tar.gz。
  • 配置环境变量。
    • sudo vim /etc/profile 在最下面增加Maven的环境变量。
    • export MAVEN_HOME=/developer/apache-maven-3.0.5。“=”后面是安装在系统中Maven解压缩后的位置。
    • export PATH=$PATH:$MAVEN_HOME/bin
    • 执行source /etc/profile,使之生效。
    • 执行mvn -version ,出现版本信息证明安装完毕。

pom.xml

  • pom.xml是Maven识别的文件,maven就是通过这个文件做文件管理的。
<?xml version="1.0" encoding="UTF-8"?>
<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.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <packaging>war</packaging>

  <name>Restaurant</name>
  <groupId>com.meteor</groupId>
  <artifactId>Restaurant</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

</project>
  • groupId,组织,公司名、团体名、小组名。一般用java包的方式命名。
  • artifactId,项目标识符。表示在groupId下的某一个项目,在artifactId中尽可能不用”.”。
  • version,版本号。用是否有SNAPSHOT来判断项目是否是一个正式发布版本还是快照版本,在正式发布版时,把SNAPSHOT去掉就可以了。
  • packaging,类型,war表示web项目。
  • dependencies,项目的依赖。
  • groupId,artifactId和version三个标签合起来是项目坐标,不能重复。

Maven基本命令

  • mvn archetype:generate,使用模版生成项目。
  • mvn compile, 编译源代码。
  • mvn test,单元测试。
  • mvn package,用来打包。
  • mvn deploy,部署。
  • mvn site,生成项目相关的站点,在线文档。
  • mvn clean,清理。
  • mvn install,把包安装到本地仓库,可以让其他项目进行依赖。

Tomcat插件

  • Tomcat官方提供的一个Maven集成Tomcat插件,实现maven内嵌的启动tomcat
  • 详细帮助:mvn help:describe -Dplugin=tomcat7
  • 常见命令
    • mvn tomcat7:run,启动一个嵌入式的Tomcat实例,这个Tomcat会运行在maven中,会把项目自动部署好,调试时非常方便。
    • mvn tomcat:deploy
    • mvn tomcat:undeploy

猜你喜欢

转载自blog.csdn.net/u011741311/article/details/80145017