0
点赞
收藏
分享

微信扫一扫

简单了解 Maven,其实这一篇就够了!

一、Maven
  1. Maven是什么?Maven 是一个跨平台的项目管理工具。
  2. 作用:
  • 基于Java平台的项目的构建、依赖包管理和项目信息管理
  • 对项目提供一种依赖配置,配置好的项目,Maven会自动从我们设置的仓库中下载和管理jar包
  • Maven也提供了一种标准的项目目录结构,通过这种约定,大大减少了不同项目的学习成本
  1. 运行原理
  • 当我们在项目中配置依赖信息后,Maven会先从本地仓库查找是否存在相应的jar包,如果不存在则从镜像服务器(前提是在setting.xml中配置了)中下载jar包,如果镜像私服也没有,则从中央仓库进行下载。

简单了解 Maven,其实这一篇就够了!_xml文件

  1. 常用命令

命令

说明

mvn compile

编译项目

mvn clean

清除项目的target

mvn test

测试

mvn package

打包

mvn install

打包,本地仓库也会放一份

  1. Maven 项目树状结构图

简单了解 Maven,其实这一篇就够了!_maven_02

  1. Maven中的坐标
  • 作用:标识项目或者依赖在仓库中的位置。
  • groupId:项目名称,一般使用公司域名倒写,唯一标识某一家公司
  • artifactId:Maven项目或模块名,区分同个公司不同项目
  • version:项目版本,区分同个项目不同时期版本
  1. 依赖
  • scope
  • compile:默认,所有阶段
  • provided:编译和测试阶段使用
  • runtime:测试和运行阶段使用
  • test:测试阶段使用
  • 传递性:自己创建的项目依赖配置的jar包,配置的jar包可能依赖自身其它jar包,比如spring
二、Java Web转Maven项目
  1. 右击项目名,选择Add Framework Support

简单了解 Maven,其实这一篇就够了!_jar包_03

  1. 勾选Maven,点击OK,项目就变成了maven项目结构,并生成maven项目中的src目录和pom.xml文件

简单了解 Maven,其实这一篇就够了!_jar包_04

  1. 将原先项目根目录下resources中的所有配置文件挪到src/main/resources下

这里提醒一下,如果直接挪动,可能会导致有的文件夹没有挪过去,所以建议右击目录后选择Show in Explorer,通过系统自带的文件资源管理器进行操作

简单了解 Maven,其实这一篇就够了!_xml文件_05


  1. 在src/main目录下创建webapp文件夹,然后备份或记录web/WEB-INF/lib中的jar(目的是为了方便后面添加依赖),之后将lib整个文件夹删除,再将web下的所有文件夹挪到刚刚创建好的webapp中

同理,测试相关的文件也可以挪到src/test/java目录下,这里就不演示了

简单了解 Maven,其实这一篇就够了!_maven_06


  1. 接下来就是删掉那些不再需要的目录,比如out、resources、test、web(resource是根目录下那个,别乱删哈)
  1. 最后一步:添加依赖!拿出刚刚备份的jar或记录的jar包信息,然后在pom.xml文件中进行添加,推荐复制jar文件名,然后到

这里强调一下,由于普通的web项目可能没有配置maven的本地库信息,所以需要配置一下,否则,加载依赖会很慢很慢很慢...

简单了解 Maven,其实这一篇就够了!_jar包_07

弄好上面那些,我们就可以运行啦!\_\

三、小问题
Problem 1:

描述:启动项目后,访问资源时控制台打印如下信息:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation

简单了解 Maven,其实这一篇就够了!_maven_08

原因:配置依赖时指定了只能测试时使用

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
    <scope>test</scope>
</dependency>

解决方法:删除<scope>test</scope>

Problem 2:

点开idea右侧Maven,发现项目名有红色波浪线

简单了解 Maven,其实这一篇就够了!_jar包_09


原因:Maven安装目录的conf/setting.xml文件中有多个mirrors标签(这里为了方便演示将多个mirrors标签一起,实际中可能不是紧挨在一起,可以通过查找该标签确认)

简单了解 Maven,其实这一篇就够了!_jar包_10

解决方法:删除mirrors标签,只保留一个


Problem 3

描述:启动项目时,出现以下错误信息:不再支持源选项 5。请使用 7 或更高版本。

简单了解 Maven,其实这一篇就够了!_xml文件_11

原因:没有指定项目编译运行版本,而Maven默认配置的版本比较低,所以就报错喽

解决方法:在pom.xml中添加以下配置信息

<packaging>war</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>


举报

相关推荐

0 条评论