Maven基础篇(2)

配置Maven

首先设置好maven的conf下的setting.xml文件

打开idea创建一个空工程,打开file-setting-maven,将maven路径改为我们要使用的maven路径,“user setting file”改为我们的maven的conf下的setting.xml文件路径,本地仓库会自动根据setting.xml设置

编辑配置:

注意web使用tomcat之前,先在pom.xml中添加tomcat,关于pom.xml配置文件介绍如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--指定pom的模板版本,直接默认即可-->
  <modelVersion>4.0.0</modelVersion>
<!--    打包方式,web工程打包为war,Java工程打包为jar-->
  <packaging>war</packaging>
    
<!--    组织ID-->
  <groupId>com.eileen</groupId>
<!--    项目ID-->
  <artifactId>web01</artifactId>
<!--    版本号:release代表完成版,SNAPSHOT代表开发板-->
  <version>1.0-SNAPSHOT</version>
<!--设置当前工程的所有依赖-->
  <dependencies>
<!--      设置具体的依赖-->
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
      </dependency>
  </dependencies>
  <build>
<!--    设置插件-->
    <plugins>
<!--      具体插件-->
      <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.1</version>
          <configuration>
              <port>80</port>
              <path>/</path>
          </configuration>
      </plugin>
    </plugins>
  </build>
</project>

依赖管理

依赖配置

依赖指的是当前项目运行所需的jar,一个项目可以设置多个依赖,以来设置格式如下:

依赖传递

依赖具有传递性:直接依赖(在当前项目中通过依赖配置建立的依赖关系)、间接依赖(被资源的资源如果依赖其他资源,当前项目简介依赖其他资源)

依赖传递冲突问题

路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高

生命优先:当依赖在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的

特殊优先:当同级配置了相同的资源的不同版本,后配置的覆盖先配置的

可选依赖

指对外隐藏当前所依赖的资源–不透明,格式如下(将“optional”设置为“true”,默认时“false”):

排除依赖

指的是主动断开依赖的资源(不需要),被排出的资源无需指定版本

依赖范围

依赖的jar默认情况下可以在任何地方使用,可以通过scope标签设定起作用范围。

作用范围:

主程序有效(main文件夹范围内)

测试程序范围有效(test文件夹范围内)

是否参与打包(package指令范围内)

依赖范围的传递性

带有依赖范围的资源在进行传递时,作用范围将会受到影响

生命周期与插件

项目构建生命周期

Maven对项目构建的生命周期划分为3套:

clean:清理工作

default:核心工作,例如变易、测试、打包、部署等

site:产生报告,发布站点等

clean生命周期:

pre-clean:执行一些需要在clean之前完成的工作

clean:移除所有上一次构建生成的文件

post-clean:执行一些需要在clean之后立刻完成的工作

default构建生命周期:

包含很多:如test(编译,编译项目的源代码)、test-compile(编译测试源码)、test(测试)、package(打包)、install(下载)

site构建生命周期:

pre-site:执行一些需要在生成站点文档之前完成的工作

site:生成项目的站点文档

post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

site-deploy:将生成的站点文档部署到特定的服务器上

插件

插件与生命周期内的阶段绑定,在执行到对应的生命周期时执行对应的插件功能,默认maven在各个生命周期上绑定有预定的功能(也可以自己加入新的插件),通过插件可以自定义其他功能

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注