Maven介绍

Maven介绍

简介

Maven是由Apache公司用纯Java开发的开源项目,用来管理我们的开发项目。

Maven是一个项目管理工具,可以对Java项目构建,依赖管理。具体可以看百度百科.

一般项目开发都会使用项目管理工具来帮助开发人员进行项目管理,而Maven已然成为大多数开发人员的选择。

安装

  1. 进入官网下载bin.zip文件
  2. 解压到C盘的User目录下(Dogs,我的解压目录)
  3. 配置环境变量:
    • 新建系统变量 MAVEN_HOME:20210912093749
    • 编辑系统变量 Path:20210912093940
  4. 检查是否安装成功:打开CMD输入--> mvn -v即可检查Maven版本相关信息。

修改settings.xml配置文件

打开Maven安装目录的conf文件夹下的settlings.xml文件

修改镜像地址

maven默认依赖下载地址是外网,下载速度慢,将其改成阿里镜像提高jar包下载

找到mirrors标签,将默认的mirror标签内容修改成如下

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

修改本地仓库的存放位置

如果不想每次使用Maven添加依赖都从网上下载,就需要创建本地的Maven依赖仓库,只需要在Maven管理的项目中指定依赖导入的仓库即可直接添加不需要下载(只要由对应依赖的版本号)。

直接在根标签下添加如下内容即可:
<localRepository>C:\Users\CNDA\maven\repository</localRepository>

settings.xml是给Maven看的,如果你想根据需求使用不同的settings.xml可以创建多个settings.xml但是名字必须是settings.xml,这意味着你必须在Maven管理中指定要使用的settings.xml具体路径。一般来说一个够用了。

配合idea使用

现阶段我们一般使用idea进行开发,那么我们就需要在idea中使用Maven管理我们的项目。

  1. 在idea中创建maven项目
    20210912100132

    直接选中Maven点击next即可

    创建好了之后,项目结构应该如图所示:
    20210912100336

  2. Maven项目结构目录介绍

    • main目录下有两个文件夹
      • java:我们项目的源代码,也就是我们普通Java项目src下的目录结构
      • resources:项目中需要的配置资源文件在此目录下
    • test:项目测试使用的结构目录,此文件下的所有文件都不会被编译到最终结果中(大致结构与main相同)
    • target:目录存放编译打包的结果(项目的最终编译结果,跟src同级目录)
    • pom.xml:是maven项目的配置文件,根据pom.xml中的规定来管理项目的依赖和构建。

管理SSM项目

SSM开发的项目最后部署在tomcat中,我们使用idea创建一个被Maven管理的web项目。

20210912101336
记得勾选Create from archetype,然后选中上图所示的maven-archetype-webapp,然后Next。

20210912101610

Maven home path :选择你的maven根目录
User settings file: 选择你的settings.xml文件路径
Local repository: 选择你的依赖仓库
点击Finish

完整SSM的Maven项目如下:
20210912105406
如果创建项目时main下没有文件夹,也没有test文件夹,则需要我们手动创建并配置。

直接如上图的结构创建目录即可,然后标记目录,右键需要标记的目录找到mark directory as,java目录就选Sources Root,main下的resources就选Resources Root,test下的java和resources就选前面带有Test就行。到此用Maven管理SSM项目就完成了。

注意:如果pom.xml中pluginManagement标签下的maven插件依赖报错,直接将其删除即可,我也不知道具体原因为什么版本报错,反正我即使更改版本不报错也用不了插件。所以删除插件并不影响我们程序的编写和正常使用Maven的功能。

SSM项目中解决Mapper.xml和resources中文件不能被maven编译打包问题

在SSM项目中,我们不只有java文件,还有在Mapper层中的Mapper.xml文件和resources文件下的相关配置文件,但是maven默认只会将我们所有java文件和webapp下的文件进行打包,并不会将mapper.xml文件和配置文件进行打包,这样就导致我们部署在tomcat中的war包中没有对应的文件导致报错,所以我们需要告诉Maven,让maven将我们的文件进行打包。
pom.xml配置如下:

<build>
<!--
有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,
就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。
-->
<!-- 资源目录 -->
<resources>
    <resource>
    <!-- 设定主资源目录 -->
    <directory>src/main/java</directory>
    <!-- 需要读取的文件 -->
    <includes>
        <include>**/*.xml</include>
    </includes>
    <filtering>true</filtering>
    </resource>
    <!-- 讲resources下配置文件加载到war包的classes中 -->
    <resource>
    <!-- 设定主资源目录 -->
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>
</resources>
</build>

编译打包后,我们的mapper.xml文件和resources下的文件就会被maven打到war包下,配置文件会移到WEB-INF下的classes中。
20210912111335

打包

除了web项目是打成war包发布在服务器上,其他都是打成jar包,打包的方式有多种,其中就说一个最基本的打包方式,打jar包并不是说运行程序就完成了打包,那target中有我们编译的class文件,并不会生成jar包,我们需要点击idea右侧栏的maven中的package
20210912200925

然后Run中会出现打包的相关信息
20210912201114
可以看到打包的类型是jar类型,而jar包的路径在Building jar中给出。

小结

我们以后会频繁的使用到maven来管理我们的中大型项目,特别是团队开发,可能还会使用到Git工具,使用maven管理项目非常的方便,不只体现在依赖导入,构建,打包等都会方便。

posted @ 2021-09-12 20:17  CN_DADA  阅读(364)  评论(0编辑  收藏  举报