一文看懂Maven

一、Maven概述

1.1 使用Maven的背景

1.1.1 一个成熟的项目需要引入大量的jar包,且jar包之间的关系错综复杂,一个jar包往往又会引用其他jar包,缺少任何一个jar包都会导致项目编译失败,并且因为jar包的数量之多难以查找。
1.1.2 Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。

1.2什么是Maven

1.2.1 Maven是一个项目构建管理工具。 由Apache组织发布的一款开源的工具软件。Maven可以帮助我们完成 清除、编译、测试、打包、安装、部署的整个项目构建过程。
1.2.2 Maven不仅是一个项目构建工具,更是一个项目管理工具。它在项目构建工程中,比ant更全面,更灵活。Maven在进行项目构建时,它对项目目录结构拥有约定,知道你的源代码在哪里,类文件应该放到哪里去。它拥有生命周期的概念,maven的生命周期是有顺序的,在执行后面的生命周期的任务时,不需要显示的配置前面任务的生命周期。例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程。
1.2.3 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
1.2.4 Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

1.3Maven的目录构造

在这里插入图片描述

1.4Maven开发的好处

1.4.1 使用Maven可以摆脱开发工具的约束 。
1.4.2 使用Maven可以帮助我们管理依赖。
1.4.3 使用Maven自动的管理依赖,从某种程度上简化了项目开发的环境维护。
1.4.4 支持远程部署。
1.4.5 使用命令快速的构建项目 。

二、 安装Maven

2.1 maven官网http://maven.apache.org/

2.2 点击Download,选择apache-maven-3.6.2-bin.zip下载
在这里插入图片描述
2.3 下载完成后,解压

2.4 配置环境变量
cn/20191008144316682.png)
在这里插入图片描述

2.5 在cmd中输入 mvn -v,出现以下信息则表示成功
在这里插入图片描述
2.6 在E:\apache-maven-3.6.2\conf的settings.xml配置本地仓库在这里插入图片描述
2.7 在E:\apache-maven-3.6.2\conf的settings.xml配置阿里仓库信息
在这里插入图片描述
2.8 myEclipse关于Maven的配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、在myEclipse创建Maven工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建成功,去掉隐藏的src/main/java和src/main/resource
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目至此就创建完成了。

四、Maven的核心概念

4.1 仓库

4.1.1 本地仓库 :本地仓库是指计算机磁盘上的仓库。这个需要自己从网上下载。

4.1.2 远程仓库:

maven的中心仓库 (需要去访问外网下载,速度很慢)
第三方管理的仓库 (私服)(此处我们之前在setting.xml中配置的是阿里的)

4.1.3 仓库的作用
在这里插入图片描述

4.2坐标

4.2.1 在maven中坐标就是为了定位一个唯一确定的jar包。

4.2.2 Maven坐标主要组成
groupId:当前Maven组织名称
artifactId:实际项目名称
version:当前项目的当前版本

4.2.3 坐标的获取: https://mvnrepository.com maven中心仓库网址

4.3pom.xml配置文件
<?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/xsd/maven-4.0.0.xsd">
  
  <!-- 模型的版本 必须是4.0.0 -->
  <modelVersion>4.0.0</modelVersion>
  
  <!-- 当前项目的坐标 -->
  <groupId>com.ix</groupId>
  <artifactId>TestMaven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <!-- 你的项目名 -->
  <name>TestMaven Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <!-- 定义的一些常量 -->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <!-- 指定项目需要的所有依赖坐标 -->
  <dependencies>
  	<!-- junit测试 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
       <!-- 当前jar包的有效范围 
        compile 【默认】  随项目发布
      	test  仅限测试包有效
      	provided  期待容器提供
      	runtime  运行时使用
      -->
    </dependency>
    
    <!-- 引入日志jar包 -->
	<dependency>
	    <groupId>log4j</groupId>
	    <artifactId>log4j</artifactId>
	    <version>1.2.17</version>
	</dependency>
	
     <!-- 数据库驱动jar -->
    <dependency>
		    <groupId>com.oracle</groupId>
		    <artifactId>ojdbc6</artifactId>
		    <version>12.1.0.1-atlassian-hosted</version>
	</dependency>
	
	 <!-- 引入mybatis的jar包 -->
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.2.8</version>
	</dependency>
	
    <!-- servlet -->
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>servlet-api</artifactId>
	    <version>2.5</version>
	</dependency>

    <!-- jsp -->
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>jsp-api</artifactId>
	    <version>2.0</version>
	</dependency>
	
	<!-- 引入struts2的jar包 -->
	<dependency>
	    <groupId>org.apache.struts</groupId>
	    <artifactId>struts2-core</artifactId>
	    <version>2.3.16</version>
	</dependency>
	
    <!-- jstl -->
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>jstl</artifactId>
	    <version>1.2</version>
	</dependency>
   
  </dependencies>

  <build>
    <finalName>TestMaven</finalName>
  </build>
  
</project>

4.4Maven Web的项目结构

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值