一篇让你了解如何安装和配置Maven

Maven

第一章-Maven相关的概念

知识点-Maven介绍

1.目标

  • 能够了解Maven的作用

2.路径

  • 什么是Maven
  • Maven的作用
  • Maven的好处

3.讲解

3.1什么是Maven

​ Maven是项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

​ 说白了: Maven是由Apache开发的一个工具。用来管理java项目(依赖(jar)管理, 项目构建, 分模块开发 ,管理项目的生命周期).

3.2Maven的作用
  • 依赖管理: maven对项目的第三方构件(jar包)进行统一管理。向工程中加入jar包不要手工从其它地方拷贝,通过maven定义jar包的坐标,自动从maven仓库中去下载到工程中。

  • 项目构建: maven提供一套对项目生命周期管理的标准,开发人员、和测试人员统一使用maven进行项目构建。项目生命周期管理:编译、测试、打包、部署、运行。

  • maven对工程分模块构建,提高开发效率。 (后面Maven高级会涉及)

3.3 Maven的好处
  • 使用普通方式构建项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OwPwfNgE-1607566261682)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/tu_2.png)]

  • 使用Maven构建项目

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l3NcMZSD-1607566261684)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/tu_3.png)]

4.小结

  1. Maven是Apache开发的一个项目管理工具. 用来管理java项目的
  2. Maven的作用
    • 使用maven创建项目
    • 管理项目生命周期
    • 引入依赖(jar包)
    • 分模块构建项目(后面学)

知识点-Maven仓库和坐标(重点)

1.目标

  • 能够理解Maven仓库的作用

2.路径

  1. Maven的仓库
  2. Maven的坐标

3.讲解

3.1Maven的仓库
仓库名称作用
本地仓库相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。
中央仓库仓库中jar由专业团队(maven团队)统一维护。中央仓库的地址:https://repo1.maven.org/maven2/
远程仓库在公司内部架设一台私服,其它公司架设一台仓库,对外公开。
3.2 Maven的坐标

​ Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等。为了能自动化的解析任何一个Java构件,Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就是我们要说的坐标。包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项目中进行依赖引用。坐标的定义元素如下:

  • groupId:项目组织唯一的标识符,实际对应JAVA的包的结构 (一般写公司的组织名称 eg:com.itheima,com.alibaba)
  • artifactId: 项目的名称
  • version:定义项目的当前版本

例如:要引入druid,只需要在pom.xml配置文件中配置引入druid的坐标即可:

<dependecies>
	<!--druid连接池-->
	<dependency>
  		<groupId>com.alibaba</groupId>
  		<artifactId>druid</artifactId>    
  		<version>1.0.9</version>  
	</dependency>
    <dependency>
    	<groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
</dependecies>

4.小结

  1. 仓库(本地仓库,中央仓库,远程仓库(私服))
    • 先从本地仓库找
      • 如果有, 就直接获得使用
      • 如果没有, 从中央仓库找, 自动的下载到本地仓库
  2. 通过坐标从仓库里面找到对应的jar使用
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>    
  <version>1.0.9</version>  
</dependency>
  1. maven坐标搜索网站的地址: https://mvnrepository.com/
  2. 以后工作中maven坐标是直接拷贝

第二章-Maven的安装

知识点-Maven的安装

1.目标

  • 能够掌握Maven的安装

2.路径

  1. 下载Maven
  2. 安装Maven
  3. Maven目录介绍
  4. 配置环境变量
  5. 配置本地仓库
  6. 测试Maven是否安装成功

3.讲解

3.1下载Maven

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vc2yZ0U5-1607566261685)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/2.png)]

http://maven.apache.org/

3.2 安装Maven

将Maven压缩包解压,即安装完毕

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pipbwO1R-1607566261687)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/4.png)]

3.3 Maven目录介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sYq1nhhg-1607566261687)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/43.png)]

3.4 配置环境变量
  • 进入环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUlMdXhz-1607566261688)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/tu_5.png)]

  • 配置MAVEN_HOME和Path

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NbfQUPUU-1607566261689)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/tu_6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBCp31wI-1607566261690)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/tu_7.png)]

3.5 配置本地仓库
3.5.1 将软件文件夹中的repository解压

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0uRXCdJX-1607566261690)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/5.png)]

3.5.2 配置本地仓库

在maven的安装目录中conf/ settings.xml文件,在这里配置本地仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VTBzk1tX-1607566261691)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535072726716.png)]

  • 示例代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
 <localRepository>E:/source/04_Maven/repository_pinyougou</localRepository>
3.6 测试Maven安装成功

打开cmd本地控制台,输入mvn -version

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pkxo1fqs-1607566261692)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/6.png)]

4.小结

  1. 注意事项
    • Maven安装包仓库 都需要解压到一个没有中文和空格的目录下(建议解压到不同的目录)
    • 配置
      • MAVEN_HOME 配置到Maven的解压目录
      • Path 配置到bin目录
    • apache-maven-3.3.9\conf\settings.xml配置本地仓库

知识点-IDEA集成Maven(很重要)

1.目标

  • 能够掌握IDEA配置本地Maven

2.路径

  1. 在IDEA配置Maven
  2. 配置默认的Maven环境

3.讲解

3.1配置Maven
  • 配置Maven

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2VCqk81l-1607566261692)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/7.png)]

  • 配置参数(解决创建慢的问题) -DarchetypeCatalog=internal

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qka8bJii-1607566261693)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/tu_8.png)]

  • 然后新创建project,一定不要使用原来的project,要求各位第一次使用maven创建项目的时候,一定要联网

4.小结

  • 配置默认Maven环境 目的: 为了下次创建的时候 不需要再选择Maven了, 使用的就是这个默认环境的

  • 配置三块

    • maven_home
    • Maven的配置文件
    • 本地仓库的路径

第三章-使用IDEA创建Maven工程

实操-创建javase工程

1.目标

  • 能够使用IDEA创建javase的Maven工程

2.路径

  1. 创建java工程
  2. java工程目录结构
  3. 编写Hello World!

3.讲解

3.1创建java工程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vfyaddt-1607566261693)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/8.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QjO6Pev4-1607566261694)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/9.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Df9FNdn4-1607566261694)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/10.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fx9G91es-1607566261695)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/11.png)]

3.2 java工程目录结构
  • 需要main/java文件夹变成 源码的目录(存放java源码)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C48RBsTI-1607566261695)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535073660314.png)]

  • 需要test/java文件夹变成 测试源码的目录(存放单元测试)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mElaZm66-1607566261696)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535073720297.png)]

  • 创建resources目录, 变成资源的目录

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SfGsEYK6-1607566261697)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535073892837.png)]

  • 整体结构

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S1Ov3dEF-1607566261697)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535073980263.png)]

3.3 编写Hello World!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ya6B1ltU-1607566261698)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/13.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tph6iNvK-1607566261698)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/14.png)]

4.小结

  1. JavaSe工程的骨架

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uYyRhrxF-1607566261699)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/image-20191224102043184.png)]

  1. 项目的结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-auiOp2Ck-1607566261699)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/image-20191224102316809.png)]

实操-创建javaweb工程

1.目标

  • 能够使用IDEA创建javaweb的Maven工程

2.路径

  1. 创建javaweb工程
  2. 发布javaweb工程
  3. 浏览器访问效果

3.讲解

3.1 创建javaweb工程
  • 创建javaweb工程与创建javase工程类似,但在选择Maven骨架时,选择maven-archetype-webapp即可:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2xhlG4FI-1607566261700)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/15.png)]

  • 创建好的javaweb工程如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dWEyXfL7-1607566261700)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/16.png)]

  • 所以,要手动创建一个java目录用于编写java代码:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JhXyf4b1-1607566261701)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/17.png)]

  • 还要将java目录添加为Source Root:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XUVif9SS-1607566261702)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/18.png)]

3.2 发布javaweb工程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJxvozcZ-1607566261703)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/37.png)]

3.3 浏览器访问效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDGj8R9u-1607566261703)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/21.png)]

4.小结

  1. 选择骨架选择webapp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bpmF6LoX-1607566261704)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/image-20191224105135578.png)]

  1. pom.xml

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fCOActPh-1607566261705)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/image-20191224105159688.png)]

  1. web工程结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KSnNylRa-1607566261705)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/image-20191224105359670.png)]

实操-不使用骨架创建工程

1.目标

​ 上面是使用骨架来创建工程的,如果不使用骨架,怎样创建工程呢?

2.路径

  1. 不使用骨架创建javase项目
  2. 不使用骨架创建javaweb项目

3.讲解

3.1.不使用骨架创建javase项目
  • 第一步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9KcIlSvx-1607566261706)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183606179.png)]

  • 第二步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BTfd54xW-1607566261706)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183637210.png)]

  • 第三步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xyAwcDPY-1607566261707)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183659568.png)]

  • 第四步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iD2p9ZPY-1607566261707)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183718460.png)]

3.2.不使用骨架创建javaweb项目
  • 安装一个插件(JBLJavaToWeb)
  • 第一步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OePGJ8bX-1607566261709)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183799998.png)]

  • 第二步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jm20lJeH-1607566261709)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183825097.png)]

  • 第三步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GzWIgJlg-1607566261710)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535183856928.png)]

  • 第四步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eJUSvELK-1607566261710)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1111.jpg)]

4.小结

我们可以使用JBLJavaToWeb插件,轻松地将没有使用骨架创建的java项目转换成javaweb项目

第四章-Maven的常用命令

知识点-Maven的常用命令管理项目的生命周期

1.目标

  • 掌握Maven的常用命令

2.路径

  1. clean命令
  2. compile命令
  3. test命令
  4. package命令
  5. install命令

3.讲解

3.1clean命令

清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Au31GkV-1607566261711)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535077199437.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vOBaDRJ0-1607566261712)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/22.png)]

3.2 compile命令

该命令可以对src/main/java目录的下的代码进行编译

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4nOf9IVx-1607566261712)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535077363500.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-99ZkATJo-1607566261713)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/32.png)]

3.3 test命令

测试命令,先将src/main/java以及src/test/java中的类都进行编译,然后再执行src/test/java/下所有junit的测试用例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-szkyhvSf-1607566261714)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535077528168.png)]

  • 在src/test/java下创建测试类DemoTest

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wRL8ZnrM-1607566261714)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/33.png)]

  • 执行test命令测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pvPd09VU-1607566261715)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/34.png)]

  • 控制台显示测试结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-33nS9us6-1607566261716)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/35.png)]

3.4 package命令

mvn package,打包项目

先编译,再执行测试,然后再打包(只会将main/java里面的代码打到包)

  • 如果是JavaSe的项目,打包成jar包
  • 如果是JavaWeb的项目,打包成war包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AXwJuqUg-1607566261716)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535077767079.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kbkqY2nu-1607566261717)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/25.png)]

打包后的项目会在target目录下找到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JMnqtWu-1607566261717)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/26.png)]

3.5 install命令

mvn install,打包后将其安装在本地仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sPBgEfEb-1607566261718)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/1535078133186.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-easn8eR2-1607566261718)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/23.png)]

安装完毕后,在本地仓库中可以找到itheima_javase_demo的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u2UOKeZH-1607566261719)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/24.png)]

4.小结

  1. 命令作用

    • clean 用来清除编译后的文件(target文件夹里面的)【一般清缓存】
    • compile 编译只会编译main里面的内容
    • test 执行单元测试,先将main、test中的内容进行编译,然后执行test中的测试方法
    • package 打包 (javaSe–>jar, javaweb–>war),其实执行打包之前先执行test,然后对项目进行打包
    • install 把项目打包之后安装到本地仓库,其实执行install之前先执行了打包,然后对项目进行安装到本地仓库
  2. 生命周期

    当我们执行了install 也会执行compile test package

第五章-依赖管理和插件

知识点-依赖管理(引入依赖)

1.目标

  • 能够掌握依赖引入的配置方式

2.路径

  1. 导入依赖
  2. 导入依赖练习
  3. 依赖范围

3.讲解

3.1导入依赖

​ 导入依赖坐标,无需手动导入jar包就可以引入jar。在pom.xml中使用标签引入依赖。

​ 做项目/工作里面 都有整套的依赖的, 不需要背诵的.

​ 去Maven官网找, 赋值,粘贴. http://mvnrepository.com/

3.1.1 导入junit的依赖
  • 导入junit坐标依赖
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
  • 进行单元测试
import org.junit.Test;

public class DemoTest {
    @Test
    public void test1(){
        System.out.println("test running...");
    }
}
3.1.2 导入servlet的依赖
  • 创建Servlet,但是发现报错,原因是没有导入Servlet的坐标依赖

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZEIrwFtM-1607566261720)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/38.png)]

  • 导入Servlet的坐标依赖
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
  • 原有报错的Servlet恢复正常

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fViUKOPK-1607566261720)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/39.png)]

3.2 依赖范围

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBVStxGv-1607566261721)(D:/就业班课程资料/预习笔记/javaWeb/day35_maven/笔记/img/27.png)]

  • compile 编译、测试、运行,A在编译时依赖B,并且在测试和运行时也依赖

    例如:strus-core、spring-beans, C3P0,Druid。打到war包或jar包

  • provided 编译、和测试有效,A在编译和测试时需要B

    例如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)

    不会打到war

  • runtime:测试运行有效,

    例如:jdbc驱动包 ,在开发代码中针对java的jdbc接口开发,编译不用

    在运行和测试时需要通过jdbc驱动包(mysql驱动)连接数据库,需要的

    会打到war

  • test:只是测试有效,只在单元测试类中用

    例如:junit

    不会打到war

  • 按照依赖强度,由强到弱来排序:(理解)

    compile> provided> runtime> test

4.小结

  1. 坐标不需要背, 做项目时候/工作开发 都有整套的坐标. 如果是导入一些特定, 可以查阅网站,直接拷贝

  2. 作用范围

    • compile 编译、测试、打包运行部署 有效 【默认】
    • provided 编译, 测试 有效. 打包运行部署 无效
    • runtime 测试、打包运行部署 有效 编译无效
    • test 只是测试有效,只在单元测试类中用
  3. Servlet,JSP 这类jar 需要加上provided , 因为部署到Tomcat里面. tomcat里面有, 如果没有加上provided , 可能会导致jar 冲突

    单元测试的 建议加上test

知识点-Maven插件(了解)

1.目标

​ Maven是一个核心引擎,提供了基本的项目处理能力和建设过程的管理,以及一系列的插件是用来执行实际建设任务。maven插件可以完成一些特定的功能。例如,集成jdk插件可以方便的修改项目的编译环境;集成tomcat插件后,无需安装tomcat服务器就可以运行tomcat进行项目的发布与测试。在pom.xml中通过plugin标签引入maven的功能插件。

2.路径

  1. JDK编译版本的插件
  2. Tomcat的插件

3.讲解

3.1 JDK编译版本的插件【了解】
<!--jdk编译插件-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>utf-8</encoding>
    </configuration>
</plugin>
3.2 Tomcat7服务端的插件(部署项目)
  • 添加tomcat7插件
<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <configuration>
            <!-- 指定端口 -->
            <port>82</port>
            <!-- 请求路径 -->
            <path>/</path>
        </configuration>
    </plugin>
</plugins>

注意: Maven的中央仓库中只有Tomcat7.X版本的插件,而之前我们使用的是8.X的版本,如果想使Tomcat8.X的插件可以去其他第三方仓库进行寻找,或者使用IDEA集成外部Tomcat8极其以上版本,进行项目的发布。

4.小结

<build>
	<plugins>
		   <plugin></plugin> 
    	   <plugin></plugin> 
    </plugins>
</build>

target>1.8
utf-8


#### 3.2 Tomcat7服务端的插件(部署项目)  

- 添加tomcat7插件    

```xml
<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <configuration>
            <!-- 指定端口 -->
            <port>82</port>
            <!-- 请求路径 -->
            <path>/</path>
        </configuration>
    </plugin>
</plugins>

注意: Maven的中央仓库中只有Tomcat7.X版本的插件,而之前我们使用的是8.X的版本,如果想使Tomcat8.X的插件可以去其他第三方仓库进行寻找,或者使用IDEA集成外部Tomcat8极其以上版本,进行项目的发布。

4.小结

<build>
	<plugins>
		   <plugin></plugin> 
    	   <plugin></plugin> 
    </plugins>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值