Java Web(一)Maven

109 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的11天,点击查看活动详情

JavaWeb介绍

什么是JavaWeb?

  • Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站
  • JavaWeb:是用Java技术来解决相关web互联网领域的技术栈

image-20221002214228510

1.网页:展现数据

2.数据库:存储和管理数据

3.JavaWeb程序:逻辑处理

Javaweb整体框架

JavaWeb

Maven

一.Maven作用

Maven是专门用于管理和构建ava项目的工具,它的主要功能有:

  • 提供了一套标准化的项目结构
  • 提供了一套标准化的构建流程(编译,测试,打包,发布)
  • 提供了一套依赖管理机制
1.标准化的项目结构

image-20221002215725794

不同的ide之间,项目结构不一样,不通用

image-20221002215956893

Maven提供了一套标准化的项目结构,所有lDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven.项目可以通用

2.标准化构建流程

image-20221002220154661

Maven提供了一套简单的命令来完成项目构建

3.依赖管理机制

依赖管理其实就是管理你项目所依赖的第三方资源(G包、插件.…)

以前的导入依赖

image-20221002220416091

通过Maven导入依赖

image-20221002220535056

1.Maven使用标准的坐标配置来管理各种依赖

2.只需要简单的配置就可以完成依赖管理

二.Maven简介

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档

官网:http:/maven.apache.org

1.Maven模型

image-20221002221331353

  • 项目对象模型(Project Object Model)
  • 依赖管理模型(Dependency)
  • 插件Plugin)
2.Maven仓库

image-20221002221849751

  • 本地仓库:自己计算机上的一个目录

  • 中央仓库:由Maven团队维护的全球唯一的仓库

    地址:repo1.maven.org/maven2/

  • 远程仓库(私服):一般由公司团队搭建的私有仓库

image-20221002222701718

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包: 如果有,则在项目直接引用; 如果没有,则去中央仓库中下载对应的jar包到本地仓库。

image-20221002223351311

还可以搭建远程仓库,将来jar包的查找顺序则变为: 本地仓库→远程仓库→中央仓库

三.Maven的安装&配置及基本使用

1.安装及配置

1.解压apache-maven-3.6.1.rar既安装完成

2.配置环境变量MAVEN HOME为安装路径的bin目录

3.配置本地仓库:修改conf/settings.xml中的为一个指定目录

4.配置阿里云私服:修改conf/settings.Xml中的标签,为其添加如下子标签:

<mirror>
  <id>nexus-aliyun</id>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  <mirrorOf>central</mirrorOf>
</mirror>
2.Maven基本使用
2.1常用命令
  • compile:编译
  • clean:清理
  • test:测试
  • package:打包
  • install:安装
2.2Maven生命周期

Maven构建项目生命周期描述的是一次构建过程经历经历了多少个事件

Maven对项目构建的生命周期划分为3套

  • clean:清理工作
  • default:核心工作,例如编译,测试,打包,安装等
  • site产生报告,发布站点等

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

image-20221003143311665

四.IDEA配置Maven

1.IDEA配置Maven环境
  1. 选择IDEA中File->Settings
  2. 搜索maven
  3. 设置IDEA使用本地安装的Maven,并修改配置文件路径

image-20221003144630939

image-20221003145156489

image-20221003145133214

2.Maven坐标详解
2.1坐标:
  • Maven中的坐标是资源的唯一标识I
  • 使用坐标来定义项目或引入项目中需要的依赖
2.2Maven坐标主要组成
  • groupld:定义当前Maven.项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactld:定义当前Maven项目名称(通常是模块名称,例如order--service、goods-service)
  • version:定义当前项目版本号
<groupId>com.itheima</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.46</version>
</dependency>
3.IDEA创建Maven项目

1.创建模块,选择Maven,点击Next

2.填写模块名称,坐标信息,点击finish,创建完成

3.编写HelloWorld,并运行

image-20221003153426773

image-20221003153604046

4.IDEA导入Maven项目
4.1.导入

1.选择右侧Maveni面板,点击+号 2.选中对应项目的pom.xml文件,双击即可 3.如果没有Maven面板,选择View→Appearance→Tool Window Bars

uTools_1664783221554

uTools_1664783259299

image-20221003154825413

五.依赖管理

1.使用坐标导入jar包

1.在pom.xml中编写:标签

2.在标签中使用引入坐标

3.定义坐标的groupld,artifactld,version

4.点击刷新按钮,使坐标生效

image-20221003211227798

image-20221003211245410

2.依赖范围

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境

image-20221003211354689

依赖范围编译classpath测试classpath运行classpath例子
compileYYYlogback
test-Y-Junit
providedYY-servlet-api
runtime-YYjdbc驱动
systemYY-存储在本地的jar包
import引入DependencyManagement

<scope>:默认值:compile