Maven 的安装配置以及IDEA配置创建Meven

1.Maven是什么?

Maven 翻译为"专家,内行".Maven是Apache下的纯Java开发的开源项目,是一个项目管理工具,使用Maven对项目进行构建,依赖管理.

 

2.什么是项目构建?

项目构建是一个从编写源代码到编译,测试,运行,打包,部署,运行的过程

 

3.传统的构建项目

       1)在IDEA中创建一个java web工程

       2)在工程中编写源代码及配置文件

       3)对源代码进行编译,java文件编译成class文件

       4)执行Junit单元测试

       5)将工程打成war包部署至tomcat运行

 

4.Maven项目构建过程

清理,编译,测试,报告,打包,部署

 

5.什么是依赖管理?

一个项目中要使用第三方jar包才可以运行,那么这个项目依赖了这些第三方jar包

依赖管理:对项目依赖的包进行规范化管理

 

6.传统项目的依赖管理

手动将jar包添加到项目中   缺点:可能造成版本冲突,导致工程过大,有些jar包不易找到,下载麻烦

 

7.Maven 的项目管理

只需要在pom.xml中添加jar包的坐标,自动从Maven 仓库中下载jar包,运行

优点:

(1)一步构建

maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程。

(2)、依赖管理

maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。

(3)maven的跨平台,可在window、linux上使用。

(4)maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。

 

8.Maven下载安装及配置环境变量

(1)下载

  1. 从该网站 http://maven.apache.org/download.cgi 下载

Maven 的安装配置以及IDEA配置创建Meven

安装解压即可

(2)解压后的目录

 

Maven 的安装配置以及IDEA配置创建Meven

(3)配置环境变量

   在环境变量中 新建变量名MAVEN_HOME 值为Maven的安装路径

    然后在PATH中引用你的MAVAEN_HOME

 

Maven 的安装配置以及IDEA配置创建Meven

(4)

     查看是否配置成功可在黑窗口中输入 mvn –v 出现如下图所示说明配置成功

     如果有时出现不是本地命令,也不是本地命令,可以用管理员身份打开黑窗口

Maven 的安装配置以及IDEA配置创建Meven

9.配置本地仓库

 

   远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。

   远程仓库可以在互联网内也可以在局域网内。

   *仓库 :在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 ,它是*仓库,服务于整个互联网,它      是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。

 

在任意盘符下新建一个目录作为仓库

然后在Maven的安装目录下找到conf目录下的settings.xml配置文件,

打开此文件配置本地仓库的路径

本地仓库目录建好后 打开 settings.xml文件进行配置本地仓库

<localRepository>D:\my_maven_local_repository</localRepository>

 

 

Maven 的安装配置以及IDEA配置创建Meven

 

10.maven常用命令

Maven常用命令介绍

注意:运行maven命令的时候,首先需要定位到maven项目的目录,也就是项目的pom.xml文件所在的目录。否则,必以通过参数来指定项目的目录。

Maven命令列表

mvn –version

显示版本信息

mvn clean

清理项目生产的临时文件,一般是模块下的target目录

mvn compile

编译源代码,一般编译模块下的src/main/java目录

mvn package

项目打包工具,会在模块下的target目录生成jar或war等文件

mvn test

测试命令,或执行src/test/java/下junit的测试用例.

mvn install

将打包的jar/war文件复制到你的本地仓库中,供其他模块使用

mvn deploy

将打包的文件发布到远程参考,提供其他人员进行下载依赖

mvn site

生成项目相关信息的网站

mvn eclipse:eclipse

将项目转化为Eclipse项目

mvn dependency:tree

打印出项目的整个依赖树  

mvn archetype:generate

创建Maven的普通java项目

mvn tomcat:run

在tomcat容器中运行web应用 需要插件支持 只有tomcat1.7的插件,没有1.8的

所以tomcat8.0用不了此命令

mvn jetty:run

调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用

Maven 的安装配置以及IDEA配置创建Meven

 

Maven 的安装配置以及IDEA配置创建Meven

 

Maven命令

compile

compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。

 

cmd进入命令状态,执行mvn compile,如下图提示成功:

Maven 的安装配置以及IDEA配置创建Meven

 

 

 查看 target目录,class文件已生成,编译完成。

Maven 的安装配置以及IDEA配置创建Meven

test

test是maven工程的测试命令,会执行src/test/java下的单元测试类。

cmd执行mvn test执行src/test/java下单元测试类,下图为测试结果,运行1个测试用例,全部成功。

 

Maven 的安装配置以及IDEA配置创建Meven

 

 

 

clean

clean是maven工程的清理命令,执行 clean会删除target目录的内容。

 

package

package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。

 

install

install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库。

从运行结果中,可以看出:

当后面的命令执行时,前面的操作过程也都会自动执行,

生命周期

三套生命周期

maven对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是: 

Clean Lifecycle 在进行真正的构建之前进行一些清理工作。

Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。

Site Lifecycle 生成项目报告,站点,发布站点。

Maven 的安装配置以及IDEA配置创建Meven

 

Maven项目工程目录约定 重要

使用maven创建的工程我们称它为maven工程,maven工程具有一定的目录规范,如下:

 

src/main/java —— 存放项目的.java文件

src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件

src/test/java —— 存放所有单元测试.java文件,如JUnit测试类

src/test/resources —— 测试资源文件

target —— 项目输出位置,编译后的class文件会输出到此目录

pom.xml——maven项目核心配置文件

 

Maven 的安装配置以及IDEA配置创建Meven

pom.xml 文件

一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。

 

  1. 依赖管理系统(Dependency Management System)

通过maven的依赖管理对项目所依赖的jar 包进行统一管理。

比如:项目依赖junit4.9,通过在pom.xml中定义junit4.9的依赖即使用junit4.9,如下所示是junit4.9的依赖定义:

<!-- 依赖关系 -->

<dependencies>

<!-- 此项目运行使用junit,所以此项目依赖junit -->

<dependency>

<!-- junit的项目名称 -->

<groupId>junit</groupId>

<!-- junit的模块名称 -->

<artifactId>junit</artifactId>

<!-- junit版本 -->

<version>4.9</version>

<!-- 依赖范围:单元测试时使用junit -->

<scope>test</scope>

</dependency>

 

定义maven坐标

每个maven工程都需要定义本工程的坐标,坐标是maven对jar包的身份定义,比如:入门程序的坐标定义如下:

 

<!--项目名称,定义为组织名+项目名,类似包名-->

<groupId>org.westos</groupId>

<!-- 模块名称 -->

<artifactId>maven-first</artifactId>

<!-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本 -->

<version>0.0.1-SNAPSHOT</version>

<packaging > :打包类型

jar:执行package会打成jar包

war:执行package会打成war包

   pom :用于maven工程的继承,通常父工程设置为pom

 

10.使用idea创建maven项目

(1)在idea中配置maven

Maven 的安装配置以及IDEA配置创建Meven

(2)创建项目

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

第一次创建要下载一些插件,需要联网,比较耗费时间

Maven 的安装配置以及IDEA配置创建Meven

Maven项目创建好后,我们看一下目录结构,发现,有的目录IDEA并没有帮我们自动创建

需要我们手动创建,注意手动创建要符合Maven规定的目录结构

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

11.idea的项目管理

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

 

在pom文件中配置所需要的jar包

Maven 的安装配置以及IDEA配置创建Meven

 

Maven 的安装配置以及IDEA配置创建Meven

 

接下来我们看如何去一些网站搜索我们所需要的jar包

我们可以用下面这网站

http://mvnrepository.com/

 

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

复制好jar包坐标粘贴到你工程的pom.xml文件中即可

Maven 的安装配置以及IDEA配置创建Meven

还有一种方式搜索本地仓库的jar包自动添加jar包坐标

在你的pom.xml文件中 按alt+insert 快捷键 弹出一个框

Maven 的安装配置以及IDEA配置创建Meven

Maven 的安装配置以及IDEA配置创建Meven

注意如果你提示出来的jar包不全可以更新一下本地仓库,因为有时你刚从远程仓库下载到

本地仓库的jar包,没有提示出来,你可以更新一下本地仓库 ,如下图

Maven 的安装配置以及IDEA配置创建Meven

12.通过Tomcat发布项目