• 项目管理工具Maven(基础篇)


    Maven是项目管理工具,它的主要作用是进行项目构建,提供了标准的,跨平台的自动化项目构建方式,并进行以来管理,即对jar进行统一管理,避免资源版本的冲突。最主要的是maven统一了项目开发结构,对于IDEA和eclipse等不同的集成开发环境都可以使用maven进行统一项目结构。Maven将项目开发和管理过程抽象成一个对象模型(POM)。

    maven官网地址:Maven – Welcome to Apache Maven

    maven下载地址:Maven – Download Apache Maven

    目录

    1、Maven下载安装与配置

    2、Maven的基本概念

    3、第一个Maven项目(IEDA生成)

    4、依赖管理


    1、Maven下载安装与配置

    直接去官网下载即可,有window环境下的版本和linux环境下的版本,直接下载解压就可以了,绿色软件,解压即安装。解压后我们可以看到如下目录,分别为bin文件:核心运行文件,boot文件:类加载文件,conf文件:核心配置文件,lib:相关jar包文件,还有证书之类的。

    我们需要对Maven的环境变量进行配置,需要进行如下配置:

     java-home的配置和maven配置一样的,在安装jdk已经进行了java-home配置,这里是maven-home的配置,如下:

     配置完成后,在命令窗口输入mvn,出现如下窗口即表示配置成功。

    2、Maven的基本概念

    1)仓库

    仓库用于存放jar包,仓库分为本地的和远程的,远程的又分为中央仓库和私服,私服的作用是存放不公开的资源,对内部开放,不共享。

    2) 坐标

    Maven坐标用于描述仓库中资源的位置,主要包含组织号,项目号,版本号三部分。

    3)仓库配置

    本地仓库的配置:

    在maven的文件夹的conf文件夹内的setting.xml中配置路径, 如下所示:我设置的D盘下的路径为本地仓库位置 ,D:\maven\repository

    远程仓库的配置:阿里镜像,在setting.xml中配置如下所示:

    1. <mirror>
    2. <id>nexus-aliyun</id>
    3. <mirrorOf>central</mirrorOf>
    4. <name>Nexus aliyun</name>
    5. <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    6. </mirror>

    3、第一个Maven项目(IEDA生成)

    在IEDA创建一个empty project,然后配置maven如下,主要是换成自己配置的maven版本。不配置使用默认的也可以。

    当然也需要设置一下项目的sdk,如下:

     接下来是创建maven项目,第一次使用IDEA生成,但不使用模板:如下:

    打开项目结构,新建module,然后选择maven如下:

    起名,就是设置坐标。如下:

     然后指定各文件夹的意义:就是将原来灰色的文件夹进行mark

     创建maven项目如下:

     接下来是再创建一个java的maven项目,这一次使用IDEA中的模板生成,如下:

     打开项目结构,新建module,然后选择maven并选择如下的模板:

     同样进行标记即可,如下:

    下面使用IDEA中的模板创建一个web项目,选择web-app的那个,如下:

    对于缺少的文件夹需要自己添加上,然后还是要标记一个各个文件夹的内容信息。

     可以在pom.xml文件中配置tomcat插件,如下:

    1. <build>
    2. <plugins>
    3. <plugin>
    4. <groupId>org.apache.tomcat.maven</groupId>
    5. <artifactId>tomcat7-maven-plugin</artifactId>
    6. <version>2.1</version>
    7. </plugin>
    8. </plugins>
    9. </build>

    然后双击tomcat7下的tomcat:run启动服务器,具体如下:

    浏览器打开如下,表示启动服务器成功。

    4、依赖管理

    依赖分为直接依赖和间接依赖,直接依赖就是在当前项目中通过依赖配置建立关系,间接依赖是从当前项目依赖其它项目的资源。

     对于依赖传递可能出现的冲突问题,首先是路径优先,即1度>2度,然后是声明优先,同级的依赖,配置在前的优先。

     使用可选依赖可以隐藏自己的依赖,不让其它项目看到。

     对于不需要的依赖,使用排除依赖进行排除,即不使用。

     依赖范围可以通过scope标签进行设定,常用的依赖范围有四个,complie,test,provided,runtime

    另外,依赖的范围是有传递性的,如下表所示: 

  • 相关阅读:
    LeetCode 897. 递增顺序搜索树
    internship:熟悉项目代码的几个步骤
    Leetcode 01-算法入门与数组-①数据结构与算法简介
    Java SE 18 新增特性
    MyBatis-Plus(二)
    微信群发工具,纯Python编写~
    Linux安装Redis 手把手教程
    【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
    反压缩 js ,我的万花筒写轮眼开了,CV 能力大幅提升
    【高项】- 范围管理论文
  • 原文地址:https://blog.csdn.net/nuist_NJUPT/article/details/126559580