Maven

Posted 406070989senlin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven相关的知识,希望对你有一定的参考价值。

1. Maven概述

1.1. Maven是什么

Maven是一个由Apache基金会维护的项目构建工具。

 

1.2. 项目构建是什么

我们将项目的代码从源代码具体程序文件的过程称为代码构建。

行为包括:编译、测试、运行、打包、部署的过程

 

1.3. Eclipse项目构建

Eclipse构建项目的过程图示:

技术图片

构建过程如下:

1)创建一个Web项目

2)在项目中编写好源代码和配置文件

3)对源代码编译生成class文件

 

4)通过Junit对代码单元测试

 

5)将项目通过Eclipse工具放在Tomcat运行

 

6)将项目导出war,放在Tomcat运行

 

 

 

 Maven构建项目

 

通过Maven构建工具可以一条命令完成上面所有的操作:

 

技术图片

  1. *clean,清除命令,作用清除已经编译的class文件和war文件
  2. *compile,编译命令,作用是将java文件编译成class文件
  3. *package,打包命令,作用将class文件打成war
  4. test,测试命令,作用执行Junit工具(可以忽略)
  5. deploy,部署命令,将war包放在指定的tomcat(可以忽略)
  6. *运行Tomcat,通过命令tomcat7:run (要加入Maven工具的Tomcat7插件)
  7. *install,安装命令,一条命令包括了,clean complile package test

 

 Maven的好处

  1. 使用命令,一键快速编译部署
  2. 对项目的构建更加精细化,适合大型项目的构建
  3. Maven支持直接通过配置文件(POM)的配置下载依赖的包
  4. 各大开源社区强制使用Maven导包,意味着如果不学它,有很多的开源项目不好入门。

 

Maven的安装

Maven说明

下载路径:http://maven.apache.org/download.cgi

目录说说明:

技术图片

环境配置

 第一步:确定JAVA_HOME配置

前提:如果要在CMD命令行运行Maven,必须要配置JAVA_HOME环境变量

通过set命令

技术图片

 第二步:配置MAVEN_HOME环境变量

技术图片

技术图片

1.1.1. 第五步:配置Maven国内源

由于默认Maven使用国外的源,会导致下载jar比较慢。

配置Mavenconf文件夹的settings.xml文件中加下面红色代码

  <mirrors>

    <!-- mirror

     | Specifies a repository mirror site to use instead of a given repository. The repository that

     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used

     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.

     |

    <mirror>

      <id>mirrorId</id>

      <mirrorOf>repositoryId</mirrorOf>

      <name>Human Readable Name for this Mirror.</name>

      <url>http://my.repository.com/repo/path</url>

    </mirror>

     -->

 

    <mirror>

      <id>alimaven</id>

      <name>aliyun maven</name>

      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

      <mirrorOf>central</mirrorOf>        

    </mirror>

 

  </mirrors>

技术图片

第二步:设置坐标信息

设置坐标信息,通过以下三个信息确定坐标。标记全球Maven项目的唯一性。

groupId:组织ID

artifactId:项目名

package:包名

技术图片

 第三步:编译项目

使用命令 mvn compile

技术图片

技术图片

第四步:打包

通过命令mvn package

技术图片

--通过该入门示例,可以发现,使用Maven创建构建项目,是可以不依赖任何开发工具的。

 

通过该入门示例,我们看到了我们需要学习的内容包括:Maven的命令、仓库

 

问题:默认Maven仓库在哪里?

答:C:\\Users\\YL\\.m2 ,在登录用户的个人文件夹里面的.m2文件夹就是仓库

 

问题:有什么办法了解更多的mvn的命令呢?

答:mvn下的命令都是一个插件Maven工具内置的可以使用的插件都在其官方帮助文档找到说明。

https://maven.apache.org/plugins/index.html

 

 Eclipse使用Maven

 配置Maven

 第一步:打开Eclipse首选项

 技术图片

第二步:配置外部Maven

技术图片

选择使用配置的外部的Maven

技术图片

第三步:【可选】查看默认本机仓库

技术图片

第一步:创建一个Maven项目

 

技术图片

 第二步:创建一个自定义的Maven项目

技术图片

第三步:设置项目构建信息

GroupId:组编号

ArtifactId:项目标识符(项目的项目名)

注意:Maven是通过GroupIdArtifactId来确定项目的唯一性,我们称为坐标。任何项目要发布到Maven的库中,必须要有一个全球唯一的坐标。

 

Version:发布的版本号

Packaging:打包方式。

(1)jar:以jar包方式打包,普通java项目

(2)war:以war包方式打包,是web项目

(3)pom:不打包,表示该项目是一个聚合项目。在多子项目的项目中,用于管理公用Maven构建属性

Name:【可以忽略】就是一个项目的一个名称,实际实战中,一般跟ArtifactID一致。

Description:【可以忽略】就是项目的描述

技术图片

技术图片

第四步:创建一个简单的HelloWorld

package cn.zj;

public class HelloWorld

 

public static void main(String[] args)

System.out.println("HelloWorld");

 第五步:构建项目

注意:

  1. Maven build:用于执行Maven的命令
  2. Maven Clean:等同执行 mvn clean
  3. Maven generate-source:等同 mvn build

Maven Intall:等同 mvn install 。同时执行,清除、编译、测试、打包、并将包安装到maven仓库

 技术图片

技术图片

 通过Maven创建Web项目

第一步:创建一个Maven项目

技术图片

--创建项目后,报错信息。提示没有web.xml

解决方案:

(1).通过<failOnMissingWebXml>标签忽略web.xml

(2).创建一个web.xml文件

技术图片

第二步:创建web.xml

  1. 创建一个在src/main/webapp下创建WEB-INF文件夹

技术图片

 

以上是关于Maven的主要内容,如果未能解决你的问题,请参考以下文章

Mavenmaven简介

mavenmaven jar 包 冲突 的解决方式

Maven实战之初识MavenMaven的简单介绍

MavenMaven四大特性

mavenmaven pom文件详解

mavenmaven各种奇葩问题