Day12JavaWeb【Maven】

本文详细介绍Maven工具的基础知识与实际应用技巧,包括Maven的作用、仓库管理、坐标配置及依赖引入的方法。通过实例演示如何使用IDEA创建JavaSE与JavaWeb的Maven项目,并解决常见问题如依赖导入失败和乱码等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标

使用idea创建java工程或者javaEE工程,如果使用jar都需要自己
添加与绑定,而使用maven可以自动完成
1.能够了解Maven的作用
2.能够理解Maven仓库的作用
3.能够理解Maven的坐标概念
4.能够掌握Maven的安装
5.能够掌握IDEA配置本地Maven
6.能够使用IDEA创建javase的Maven工程
7.能够使用IDEA创建javaweb的Maven工程
8.能够自定义javeweb的Maven工程
9.能够掌握依赖引入的配置方式
10.能够了解依赖范围的概念

1.Maven的作用

  • (1)什么是Maven?
    maven是一个项目管理工具

  • (2)maven有什么作用?
    》》maven对工程分模块构建,提高开发效率
    》》 Maven可以对项目的jar包进行统一管理,无需每个module都复制jar包,可以使用配置文件自动导入
    》》Maven可以对你的项目从写代码到上线进行一条龙服务:初始化、编译、测试、报告 、打包war、部署,清理

2.Maven仓库的作用

  • (1)什么是Maven的仓库

》》1 仓库就是存放项目使用jar包和插件(plugin)的地方
》》2 仓库分类:
中央仓库:存放所有常用的jar的服务器,对外公开,由专业团队维护,地址:http://repo1.maven.org/maven2/ (Maven)
远程仓库(私服):一般是企业将核心jar包放在自己的服务器上(阿里云镜像)
本地仓库:jar包和插件存储在本地(就是一个文件夹)
在这里插入图片描述

3.Maven的坐标概念

  • (1)什么是仓库的坐标?
    仓库中有很多jar包,如果找到我们需要的jar包,需要给每一个jar包设置一个标识,即坐标
  • (2)坐标的组成:
    groupId: 一般是公司域名的倒写: com.baidu,com.alibaba
    artifactId: module项目的名字 : day13_maven
    version: 版本 : 1.0.1-SNAPSHOT
  • (3)使用jar包
    在项目的pom.xml文件中进行配置:

4.Maven的安装

在这里插入图片描述

5.IDEA配置本地Maven

  • 配置环境变量

  • 在这里插入图片描述
    在这里插入图片描述

  • 修改本地仓库路径
    MAVEN_HOME目录conf下打开setting文件
    在这里插入图片描述

  • 配置阿里云镜像

<mirrors>
    <mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/nexus/content/groups/public</url>
    <mirrorOf>central</mirrorOf>
   </mirror>
  </mirrors>
  • 关闭项目
    在这里插入图片描述
  • 进入设置
    在这里插入图片描述
    在这里插入图片描述
  • bin目录上级
    在这里插入图片描述
    我一切都设置完后发现Maven总是报错,检查过后不是mirror的问题,只能是repository仓库问题,我一开始将repository放在了MAVEN_HOME下,也就是C盘,我的C盘被写保护了,权限比较奇怪,不知道怎么更改。我就将repository移动到D盘下。

6.IDEA创建javase的Maven工程

  • 1 File ----new Project ---->勾选 create from archetype —>选择: xxxx.quickstart
    在这里插入图片描述

  • 2 给当前要创建的项目指定一个坐标,因为我这个项目以后也可以打包成包发布到仓库中,则必须指定坐标
    在这里插入图片描述

  • 3 创建完项目之后,一定要在右下角 Event-Log 点击:Import Changes Enable Auto-Import ,可以自动从仓库中导入jar包
    在这里插入图片描述

7.IDEA创建javaweb的Maven工程

  • 创建新项目
    在这里插入图片描述
  • 选择maven-achetype-webapp在这里插入图片描述
  • web目录
    在这里插入图片描述

8.自定义javeweb的Maven工程

Project中创建多个web项目***

  • 1 创建Project 选择quickstart (选择使用maven模板)
  • 2 选中Project,再new Module 选择 webapp
    在这里插入图片描述

9.依赖引入的配置方式

pom.xml文件

  • (1)jar包依赖
    如果我们需要使用一个jar,则只需要在pom.xml中进行配置
  • (2)插件
 <dependencies>
    <dependency>
      <groupId>XXXX</groupId>
      <artifactId>XXXX</artifactId>
      <version>XXX</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

10.依赖范围的概念

//jar范围
<scope>test</scope>     测试:junit @Test
<scope>provided</scope> 编译,测试 运行时不用:servlet
<scope>runtime</scope>  测试,运行:jdbc驱动
<scope>compile</scope>  编译 测试 运行:(默认)   

11. Maven项目的命令

  • Maven自带了一些对项目进行管理的命令:
    clean: 清除项目编译文件, 将项目下的target文件夹删除
    **compile:**对项目进行重新编译 , 在项目下生成target文件夹
    package: 将当前的项目打成war/jar包target文件夹下,最终可以将war包发布到Linux服务器上
    install: 将当前的项目发布到本地仓库
    test: 执行测试程序

12.idea,tomcat乱码的终极解决办法

  • 用记事本将Tomcat目录下conf文件夹下logging.properties打开
    在这里插入图片描述
  • 将这里改为GBK格式
    在这里插入图片描述

13.旧项目改成Maven项目

  • 步骤
  1. 创建maven-webapp项目
  2. 添加依赖 (Maven将下载,复制,粘贴jar等完成。
  3. 复制前端代码 webapp下面的文件
  4. 再复制java代码
<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.11.0</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

14.Maven Repository搜索网站寻找所需api标签

  • 要啥咱搜啥在这里插入图片描述
  • 例如搜servlet挑访问量最高的
    在这里插入图片描述
  • 这样就找到我们要的gavs(坐标)了
    在这里插入图片描述

15.maven项目依赖导入成功却报错找不动包

  • 在pom.xml中添加标签
<dependency>
     <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-databind</artifactId>
     <version>2.11.0</version>
   </dependency>
  • 点击运行项目却无法找到依赖的包
    这是Idea2020.1.1的一个bug可能是编译的问题
    IDEA的Build(编译)操作和Maven的Build是分开的
  • 解决的思路是
    把IDE的Build/Run操作委托给Maven来进行,让两者统一
    让IDE和Maven始终使用相同的classpath进行编译等。具体做法是,在File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Runner对话框下
    在这里插入图片描述
  • 我们老师的回复
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值