maven总结(一) -- maven的简介,安装,创建maven项目,常用命令

一、Maven简介

1.1 什么是Maven

      Apache Maven是一个软件项目管理和构建工具,可以帮助我们创建和管理项目基于项目对象模型POM(Poject Object Model)的概念,帮助开发者构造一个项目的完整生命周期.
     注:POM是Maven对一个项目的描述,是Maven的核心,一个POM其实就是一个XML文件.

1.2 为什么使用Maven

1.2.1 项目的管理工具

       项目规则很大时一定会将项目进行拆分,将一个项目拆分成多个模块,每个模块对应一个工程,多个工程之间存储依赖关系此时可以使用Maven的依赖管理机制,帮助我们在项目与项目之间建立依赖关系.

1.2.2  jar包的管理工具

  • 通过仓库管理jar包,多个项目可能会用到相同的jar包,每个项目都要导入jar包,太麻烦此时可以通过Maven,将jar包放到Maven仓库中,在项目中引用仓库中的jar包解决jar包的依赖;
  • jar包之间存储依赖关系,并且依赖层次很复杂,很难记住,此时可以使用Maven,帮助我们自动解决jar包间的依赖关系;
  • 自动下载jar包项目中使用的jar数据很多,自己下载并手动添加jar包此时可以使用Maven,帮助我们自动下载所有相关的jar包

1.2.3 自动化的构建工具

   构建过程:编译主代码——>编译测试代码——>执行单元测试——>生成测试报告——>打包——>部署

1.3 术语

1.3.1 中央仓库

  是一个网络仓库,存储jar包和maven插件
       http://repo.maven.apache.org/maven2
       http://repo1.maven.org/maven2/
       http://mvnrepository.com/

1.3.2 本地仓库

   从中央仓库下载的jar包的存放位置,也是一个仓库,只不过是存放在本地电脑上

1.3.3 镜像仓库

  对某一仓库做的镜像

  阿里云提供的 http://maven.aliyun.com/nexus/content/groups/public/

1.3.4 私服

  局域网内部搭建的maven服务器

1.3.5 单词

  repository 仓库
  archetype 原型、骨架(模板)
  artifact 手工制品,成品(项目/jar/war)

二. 安装maven

2.1 下载安装包

  maven 3.2.5版本要求jdk1.6,其后的版本要求jdk1.7

2.2 解压缩

  解压到无中文、无空格,不需要安装

2.3 配置环境变量

2.3.1 Windows

Maven依赖于JAVA_HOME

1 window下测   echo %JAVA_HOME%
2 linux下测 echo $JAVA_HOME

  Maven环境变量:
  M2_HOME=Maven安装目录
  PATH=原PATH;%M2_HOME%/bin
  测试:mvn ­version

  

    如果测试显示是以上结果,则maven安装成功。

2.3.2 Linux

编辑/home/soft01/.bashrc文件(bashrc下修改环境变量),在最后一行添加内容:

cd /home/soft01
vi .bashrc
export M2_HOME=/home/soft01/maven/apache­maven­3.2.5
export PATH=$PATH:$M2_HOME/bin

source命令使修改立即生效:

source .bashrc

测试:mvn ­version

成功的界面:

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014­12­
15T01:29:23+08:00)
Maven home: /home/soft01/maven/apache­maven­3.2.5
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java­7­oracle/jre
Default locale: zh_CN, platform encoding: UTF­8
OS name: "linux", version: "3.16.0­30­generic", arch: "i386", family:
"unix"

2.4 配置本地仓库

2.4.1 本地仓库的默认位置

~/.m2/repository

2.4.2 修改本地仓库的位置

编辑conf/setting.xml

<!-- 配置自己的本地仓库,自己解压的本地仓库路径 -->
<localRepository> D:\soft\maven\repository</localRepository>

测试:

cd maven/maven­projects
mvn archetype:generate #创建maven项目

提示:

  • 选择创建项目时使用的模板archetype:按回车
  • 输入groupId,一般为组织域名反向+项目名:com.wfz.demo
  • 输入artifactId:test
  • 版本:按回车
  • 包名:按回车
  • 确认:按回车

2.4.5 配置镜像仓库

编辑conf/setting.xml

 1 <!--镜像仓库:对中央仓库做的镜像(即实时备份中央仓库当中的数据,相当于是中央仓库的一个备份).
 2       阿里云提供的 http://maven.aliyun.com/nexus/content/groups/public/
 3       配置本地镜像仓库,所有访问都使用该镜像仓库.如果配置了本地镜像,默认就会从本地镜像上进行下载,
 4       速度会相对从中央仓库下载要快一些 ,如果不配置,默认从中央仓库进行下载
 5       访问顺序:如果配置了本地仓库,先从本地仓库中去找,再去私服上去找,找不到从镜像仓库去找,再找不到,从中央仓库当中去找.
 6       -->
 7   <mirrors>
 8     <mirror>
 9         <id>aliyun</id><!--id任意,但是要唯一 -->
10         <mirrorOf>*</mirrorOf> <!--*代表的含义是:所有的访问都使用该镜像仓库-->
11         <name>aliyun maven</name> <!--名字任意-->
12         <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <!--阿里云镜像仓库地址 -->
13     </mirror>
14   </mirrors>

2.4.6 配置Maven的JDK版本

默认使用maven创建的项目使用的是jdk1.5
修改maven默认使用的jdk版本,编辑conf/setting.xml,在profiles标签中添加如下内容:

 1 <!--jdk,tomcat的等相关插件的配置文件存放位置 ,可以配置多个配置文件-->
 2   <profiles>
 3     <profile>
 4         <id>jdk‐1.8</id>
 5         <activation>
 6             <activeByDefault>true</activeByDefault>
 7             <jdk>1.8</jdk>
 8         </activation>
 9         <properties>
10             <maven.compiler.source>1.8</maven.compiler.source>
11             <maven.compiler.target>1.8</maven.compiler.target>
12             <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
13         </properties>
14     </profile>
15   </profiles>

三. 创建maven项目

3.1 Java项目的创建

3.1.1 目录结构

Java工程约定的目录结构如下:

|­项目名称
  |­src //程序代码
    |­main //程序主代码
      |­java //源代码
        |­用于存放源代码,相当于传统项目的src,如
com.wfz.usm.dao.UserDao
      |­resources //配置文件
        |­用于存放配置文件
    |­test //测试代码,目录结构与main中一样
      |­java
      |­resources
  |­pom.xml //maven核心配置文件

3.1.2 基本操作

步骤:

1. 创建Java项目

mvn archetype:generate

指定的信息如下:

archetype:(maven­archetype­quickstart) #使用骨架创建java项目
groupId:com.wfz.study #指定组织域名反向+项目名
artifactId:sms #指定模块名称
version:1.0.1 #版本
package:com.wfz.study #包名

2.  执行maven操作

cd sms #先切换到项目所在的目录
mvn compile
mvn clean compile test #可以同时执行多个命令

3.1.3 自定义Java类

  实现自己功能的相关的java类,此处省略。

3.2 Web项目的创建

3.2.1 目录结构

Web项目的约定目录结构如下:

|­项目名称
  |­src //程序代码
    |­main //程序主代码
      |­java //源代码
        |­用于存放源代码,相当于传统项目的src,如
com.wfz.usm.dao.UserDao
      |­resources //配置文件
        |­用于存放配置文件
      |­webapp //网站根目录,相当于传统web项目的WebRoot
        |­WEB­INF
          |­web.xml
    |­test //测试代码,目录结构与main中一样
      |­java
      |­resources
  |­pom.xml //maven核心配置文件

3.2.2 基本操作

步骤:

1. 创建web项目

mvn archetype:generate

指定的信息如下:

archetype:(maven­archetype­webapp) #使用模板创建web项目
.....

2. 执行maven操作

mvn clean compile package

3. 发布
方式1:使用外部的tomcat
将shop.war包复制到webapps目录下,然后启动tomcat

cd tomcat.../bin
./startup.sh

方式2:使用maven的tomcat插件

mvn tomcat:run

4. 访问
http://localhost:8080/shop

 四. Maven命令

4.1 常用命令

  

 注意:

  • 所有的命令都要跟在mvn的后面,如mvn archetype;   
  • 所有的命令都必须在某个项目的根目录;
  • 多个命令可以一起执行.

4.2 生命周期

  • 一个项目的构建build的过程通常包括:清理、编译、测试、打包、集成测试、部署等;
  • Maven定义了三套生命周期:clean、default、site;
  • 每个生命周期之间是互相独立,每个生命周期内都包含多个阶段,这些阶段是有顺序的,后续的阶段必须等待前面的阶段执行后才能执行;
  • default生命周期包含:compile、test、package。

 

posted on 2018-10-16 23:13  wangfangz  阅读(393)  评论(0编辑  收藏  举报

导航