Maven

对jar包进行统一依赖管理

创建Maven项目

在idea中创建一个Maven项目,在Maven项目中主要有以下两个需要用到:
org.pache.maven.archetypes:maven-archetypes-quickstart:用于普通项目
org.pache.maven.archetypes:maven-archetypes-webapp:用于web项目

创建后会设置坐标:

  • GroupId:组织
  • AftifactId:项目名
  • Version:版本号

项目和仓库做关联

配置文件地址

配置
在配置文件地址中是没有setting.xml文件的,可以从idea自带的maven中复制粘贴,在mac中地址在:

/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3

本地仓库地址默认跟配置文件统一目录

设置自动倒入包
自动导包

Maven依赖

之后如果需要倒入包,只需要在npm.xml文件中进行更改

Maven项目结构

目录结构

Maven生命周期

maven生命周期

  • clean表示清除,清除编译好的class文件,即清除target目录中的文件
  • compile表示编译(生成.class)
  • test:该命令会将test目录中的源码进行编译
  • install:打包并部署到本地仓库

Maven创建Web项目

创建后需要在main中手动创建一个java目录
执行install打包后会在仓库中创建一个war包,用于部署到服务器上

Maven坐标

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
</dependencies>

主要组成有以下几个:

  • groupId:组织标识(包名)
  • artifactId:项目名称
  • version:版本号
  • scope:用来控制依赖和编译,测试,运行的classpath关系,有以下几个选项:
  1. compile:默认编译依赖范围,对于编译、测试、运行三种classpath都有效
  2. test:测试依赖范围,只对于测试classpath有效
  3. provided:对于编译,测试的classpath都有效,但对于运行无效,因为由容器提供,如servlet-api
  4. packaging:项目的打包方式,常见的有jar和war两种

关联WEB容器

按照idea创建web项目关联Tomcat的方式进行配置

Maven多模块开发

父子工程(聚合工程)

创建方法1:

创建父项目

在创建的maven项目中选择站点模式maven-archetype-site-simple,父项目主要用于管理jar包

创建子项目

在父目录中点击new module创建子模块,子模块的路径就在父项目目录下,在main文件夹下新建一个java文件夹,右键Mark Directory As...

模块之间的相互调用

将模块打包成jar包给其他模块调用,在需要调用的模块导入依赖包

创建方法2:

创建空目录

在创建项目时选择Empty Project

创建模块项目

使用new module创建模块

调用依赖模块

跟第一种方法一样

注意
无论使用哪一种方法,都需要修改一下jdk版本
更改jdk1
更改jdk2