JavaEE学习(四) Maven

本文是学习JavaEE开发的记录笔记

大纲

Maven

  • Maven是项目管理和综合工具
  • Maven可以设置按标准在非常短的时间里完成配置工作
  • Maven项目的结构和内容在一个XML文件中声明-pom.xml文件
  • Maven提供了一个项目对象模型(POM)文件来管理项目的构建,能够自动下载项目依赖

安装Maven

打开Maven官网选择下载Binary zip archive-Link下的.zip文件,注意在网页上有对应版本的Maven所需最低版本JDK的支持,确保自己的JDK版本在此之上

解压到安装文件夹

添加环境变量(M2_HOME/MAVEN_HOME)


将bin文件夹添加到PATH

在命令行输入mvn -version 有版本输出则安装成功

项目对象模型POM

POM是Maven中的基本单位,是一个XML文件,保存在项目基本目录的pom.xml文件中

POM包含项目如下因素:

  • 项目依赖-project dependencies
  • 插件-plugins
  • 目标-goals
  • 建立简介-build profiles
  • 项目版本-project version
  • 项目开发者-developers
  • mailing list

POM文件

  • 每个项目只有一个POM文件
  • POM文件有三个必填标签:项目组编号、项目名称、版本号
    1
    2
    3
    <groupId>com.harvie.project-group</groupId>
    <artifactId>projectName</artifactId>
    <version>1.0</version>
  • 在存储库中存储编号为:groupId:artifactId:version
  • 根节点为project

使用Maven构建JAVA基本项目

  1. 首先创建项目的根目录,如我在桌面创建的MVN目录(C:\Users\admin\Desktop\MVN)
  2. 通过命令行进入MVN目录,输入命令mvn archetype:generate,即使用maven-archetype-quickstart插件快速创建JAVA应用程序
  • 构建过程中会在某些语句停住让你输入相应信息
  • Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 336:这个是根据每个用户的eclipse插件不同数字也不同,直接回车即可
  • Choose a number: 6: 直接回车即可
  • Define value for property ‘groupId’: :输入项目组编号,类似于组织机构名称,我输入Harvie
  • Define value for property ‘artifactId’: : 输入项目名称,我输入maven-hello-world
  • Define value for property ‘version’: 1.0-SNAPSHOT: : 输入项目版本号,默认为1.0-SNAPSHOT,直接回车即可
  • Define value for property ‘package’: Harvie::项目打包后的jar文件名,类似于.net项目中生成的.dll文件名,直接回车即可
  • Y: : 直接回车即可
  • 之后可看到项目构建信息和BUILD SUCCESS项目构建完成标识

Maven项目结构

进入项目目录,在Windows Shell中输入tree可查看文件目录结构

  • src/main/java存放项目源代码
  • src/main/test存放单元测试代码
  • pom.xml存放POM文件

编译项目

进入项目目录输入mvn clean compile就可以对项目进行编译

编译成功会显示BUILD SUCCESS,并且在target文件夹中增加了classes里面有编译的java类.class类

单元测试项目

进入项目目录输入mvn clean test就可以对项目进行单元测试

编译成功会显示BUILD SUCCESS,并且在target文件夹中增加了test-classes里面有编译的单元测试类.class文件

项目打包

将java项目打包成jar包或者war包,输入命令mvn clean package
通过命令行中的打包输出流,可以看到项目打包前会执行compile和test,之后才是项目打包操作

打包成功后在项目target文件夹中会有项目对应的.jar包

项目部署

将java项目经过清理-编译-测试-打包-将jar包放入本地仓库中,输入命令mvn install

部署完成后打开本地仓库(默认地址为C:\Users\用户名.m2\repository)

通过pom.xml配置使用.jar包

通过创建新的项目(maven-pom-test)编辑项目的pom.xml将刚才发布的.jar包应用在项目中

  1. 创建新的项目文件夹,并创建对应的maven文件结构:
  • maven文件结构:
  1. 修改pom.xml文件添加依赖:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!--项目基本属性-->
    <groupId>harvie</groupId>
    <artifactId>maven-pom-test</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>maven-pom-test</name>

    <!--添加依赖的jar包-->
    <dependencies>
    <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
    </dependency>

    <!--项目要使用到maven-hello-world的jar包,所以在这里添加Hello的jar包的依赖-->
    <dependency>
    <groupId>harvie</groupId>
    <artifactId>App</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>

    </dependencies>

    </project>
  2. 新建.java文件调用maven-hello-world依赖包: