Java Maven

前言

  • Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。

  • 在有多个开发团队环境的情况下,Maven 能够在很短的时间内使得每项工作都按照标准进行。因为大部分的工程配置操作都非常简单并且可复用,在创建报告、检查、构建和测试自动配置时,Maven 可以让开发者的工作变得更简单。

  • Maven 官网

  • Maven 教程

  • Maven 快速入门

1、Maven 配置

2、Maven 仓库

  • 所谓的仓库就是用于存放项目需要的 jar 包的。Maven 采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同 jar 包。

  • 默认仓库位置:打开文件 apache-maven\conf\settings.xml 可以看到仓库默认位置是 ${user.home}/.m2/repository

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!-- localRepository
    | The path to the local repository maven will use to store artifacts.
    |
    | Default: ${user.home}/.m2/repository
    <localRepository>/path/to/local/repo</localRepository>
    -->
    </settings>
  • 修改仓库位置

    1
    2
    3
    4
    5
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>/Users/QianChia/.m2/maven/repository</localRepository>
    </settings>
  • 使用阿里云镜像地址下载路径:${user.home}/.m2/settings.xml

    1
    2
    3
    4
    5
    6
    7
    8
    <mirrors>
    <mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
    </mirrors>

3、Maven 命令行创建项目

  • 使用 Maven 管理的 Java 项目都有着相同的项目结构:

    • 有一个 pom.xml 用于维护当前项目都用了哪些 jar 包
    • 所有的 java 代码都放在 src/main/java 下面
    • 所有的测试代码都放在 src/test/java 下面

3.1 创建 Java 项目

  • 创建 maven Java 项目:运行成功会看到绿色的 BUILD SUCCESS。

    1
    mvn archetype:generate -DgroupId=com.how2java -DartifactId=j2se -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
  • 运行 package 命令:最后会看到一个绿色的 BUILD SUCCESS,package 做了很多事情,编译,测试,打包,最后生成了一个 j2se-1.0-SNAPSHOT.jar 包,里面放了 APP 这个类。

    1
    mvn package
  • 执行 Jar。

    1
    java -cp target/j2se-1.0-SNAPSHOT.jar com.how2java.App

3.2 创建 Web 项目

  • 创建 maven Web 项目:与 maven 创建的 java 项目结构类似,不过没有 java 目录,需要自己手动创建。

    1
    mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.how2java -DartifactId=j2ee -DinteractiveMode=false

4、开发环境设置

4.1 Eclipse 设置

  • 设置 Maven 路径

    • 菜单 -> Window -> Preferences -> Maven -> Installations。
    • 指定 d:\software\apache-maven-3.5.0。
    • 把原来的那个低版本 maven 删除掉,如果有的话。
  • 设置仓库路径

    • 菜单 -> Window -> Preferences -> Maven -> User Settings。
    • Global Settings 和 User Settings 都使用:d:\software\apache-maven-3.5.0\conf\settings.xml。
    • 点击一下 Reindex,确保 local Repository 为:d:/maven/repository。
  • 添加 jar 包

    • 编辑 pom.xml 文件。
  • 重建本地仓库

    • 倘若在给 maven 项目添加 jar 中无法搜索到 jar 包,那么可以按照如下行为操作一遍。
    • 菜单 -> Window -> Show View-> Other -> Maven -> Maven Repositories -> Local Repository -> Rebuild Index。
  • 创建 Java 项目

  • 创建 Web 项目

  • 创建 SSM 项目

  • 导入 SSM 项目

  • 父子项目

    • 通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。
    • 这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的 jar 包共享。
    • 所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。
    • 所谓的子项目,其实是 maven module。

4.2 Intellij IDEA 设置

  • IDEA 设置

    • File -> Settings -> Build, Execute, Deployment -> Build Tools -> Maven。
    • 修改 Maven home directory: d:/software/apache-maven-3.5.0。
    • 修改 User settings file: d:\software\apache-maven-3.5.0\conf\settings.xml。
    • Local repository 会被自动识别为 d:\maven\repository。
  • 添加 jar 包

    • 修改 pom.xml 文件。
  • 创建 Java 项目

  • 创建 Web 项目

  • 创建过程缓慢

    • 有时候会碰到在 Idea 中创建 maven 项目很缓慢,多半是因为采用国外的仓库位置。
    • 所以第一个解决办法是设置 maven 使用阿里云下载路径。
    • 如果坚持使用国外的仓库位置,那么通过使用过程缓慢加快创建过程。
  • 父子项目

文章目录
  1. 1. 前言
  2. 2. 1、Maven 配置
  3. 3. 2、Maven 仓库
  4. 4. 3、Maven 命令行创建项目
    1. 4.1. 3.1 创建 Java 项目
    2. 4.2. 3.2 创建 Web 项目
  5. 5. 4、开发环境设置
    1. 5.1. 4.1 Eclipse 设置
    2. 5.2. 4.2 Intellij IDEA 设置
隐藏目录