项目管理工具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盘下的路径为本地仓库位置 ,<localRepository>D:\maven\repository</localRepository>

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

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</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插件,如下:

 <build>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.1</version>
        </plugin>
      </plugins>
</build>

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

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

4、依赖管理

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nuist__NJUPT

给个鼓励吧,谢谢你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值