美文网首页
一、maven 入门

一、maven 入门

作者: cqzhangjian | 来源:发表于2017-12-24 19:19 被阅读0次

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。

1.maven 软件安装

  • 确定本地安装 JDK
    打开cmd 敲击:echo %JAVA_HOME% 检查 本地是否配置 JAVA_HOME环境变量;JAVA -version 检查 JAVA 可执行程序是否可用
  • maven zip 包,解压,解压的路径不要出现中文或者特殊符号
图片.png
  • 配置 maven 的环境变量
    配置 MAVEN_HOME 环境变量名称对应的值为:maven 软件的解压路径
    配置 PATH 环境变量名称对应的值:%MAVEN_HOME%/BIN
  • 检查 maven 的环境变量配置是否完成
    mvn -v 是否显示maven相关信息,没有显示表示maven 未配置成功

2.快速创建 maven 项目

  • mvn archetype:generate -DgroupId=com.xingxue.mavendemo -DartifactId=mavendemo-day1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

-DgroupId : maven 项目的名称
-DartifactId : maven 项目模块名称
-DarchetypeArtifactId :使用maven 的骨架(工程结构)

3.maven 项目工程结构

----| maven 项目模块文件夹
  ---|src 文件
    ---|main 主代码
      ---| java 文件夹:将来都放包
      ---| resouces 文件夹:将来放配置文件
    ---|test 测试代码
      ---| java 文件夹:将来都放包
      ---| resouces 文件夹:将来放配置文件
  ---|pom.xml pom文件

  • maven 常用命令:
    编译命令:mvn compile
    清除命令: mvn clean
    测试命令: mvn test
    打包命令: mvn package
    安装命令:mvn install

4.maven 坐标

站在 maven 软件的角度看 项目,每个项目都是一个构建而已,一个项目如果要分模块,可以把每个模块看成一个构建。一个构建要依赖其他的构建,如何去引用其他构建,三坐标来描述一个构建。

  • 三坐标:gav
    groupId:描述项目名称(带个组织公司的域名)eg:com.xingxuecn.crm
    artifactId:描述项目的模块 eg:crm-service
    version:模板的版本号 eg:1.0

  • 三坐标在 pom 文件中进行描述

<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">
   <modelVersion>4.0.0</modelVersion>
  
  <groupId>com.xingxue.mavendemo</groupId>
  <artifactId>mavendemo-day2</artifactId>
  <version>1.0-SNAPSHOT</version>
  • artifactId + version = 打成jar 的名称
    eg:mavendemo-day2-1.0-SNAPSHOT.jar

  • 构建在仓库中的路径 = groupId+artifactId+1.0-SNAPSHOT路径下

  • pom 文件:(project object model),该文件用于来描述模块的信息的,不仅来描述模块的三坐标,将来还要描述依赖管理的插件以及jar包等信息

  • 修改 中央仓库的地址:


    图片.png

5.依赖管理

依赖包具有传递性,如果有一个包要依赖其他,其他的包也会同时下载

eg:下载 struts2的包,只需要导入 struts2-core包,就会依赖的下载其他的包

    <dependencies>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.34</version>
        </dependency>
    </dependencies>

依赖包的图如下:


图片.png

查询构建的三坐标网站:http://mvnrepository.com/

6.仓库管理

仓库将来就是用于存放一些 jar 包以及 maven 插件(编译插件、打包的插件......)

本地仓库 --------------------> 私服 ------------------->远程仓库

7.生命周期

Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,初学者容易将Maven的生命周期看成一个整体,其实不然。这三套生命周期分别是:

  • Clean Lifecycle 在进行真正的构建之前进行一些清理工作。

  • Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等

  • Site Lifecycle 生成项目报告,站点,发布站点。

注意:它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

mvn install : 编译 、 测试 、 打包 、 安装,这就是一套默认的构建生命周期
mvn clean: 构建输出的清理
mvn clean install : 先执行 清理,然后编译 、 测试 、 打包 、 安装

常用两套生命周期来玩: mvn clean test 、 mvn clean compile、 mvn clean package....

8. maven 软件 集成到 Eclipse,利用 Eclipse 自带的 maven 插件

  • Eclipse 自带的 maven 插件 m2Eclipse 插件。
  • 图片.png
图片.png
  • 使用 eclipse 创建 maven jar工程


    图片.png
  • 使用 eclipse 创建 maven war工程


    图片.png

相关文章

  • Maven快速上手

    1、Maven介绍 注:改章节的内容主要粘贴自:Maven学习总结(一)——Maven入门。Maven(这个单词来...

  • Maven使用入门/安装/配置

    Maven使用入门 1. Maven概述 Maven是什么?Maven项目对象模型(POM),可以通过一小段描述信...

  • Morphia入门

    Morphia官网 开发环境 Jetbrain IDEA Maven 一: maven依赖 官方依赖 二: 入门设...

  • 使用自己安装的Maven插件

    刚接触Maven工具, Maven是一个项目管理工具,相关了解Maven可以在下面的网站了解: Maven入门指南...

  • Mybaties 的 xml 配置和 注解

    基于 maven 的 Mybatis入门使用 步骤 - 创建 MAVEN 工程 - 导入坐标 - 使用 m...

  • 一、maven入门

    在maven的世界里,一切都从pom文件开始...... 下面是一个入门级helloworld项目的 pom配置文...

  • 一、maven 入门

    Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。...

  • javaweb入门之学习maven(01)

    maven入门知识 一. maven简介 二.maven主要解决开发过程的两个问题: 项目文件jar包比较多,项目...

  • Maven入门

    Maven入门 mvn的常用指令 mvn -v:查看maven版本 mvn -compile:编译 mvn -te...

  • maven菜鸟入门教程

    maven菜鸟入门教程 一.简介 有做JAVA的基本都知道Maven。网上很多文档大多都是站在掌握了一定maven...

网友评论

      本文标题:一、maven 入门

      本文链接:https://www.haomeiwen.com/subject/mgbhgxtx.html