“Maven笔记”的版本间差异

来自Wikioe
跳到导航 跳到搜索
第119行: 第119行:
</settings>
</settings>
</syntaxhighlight>
</syntaxhighlight>
== 入门程序 ==
=== 项目工程目录约定 ===
=== 常用命令 ===
=== 生命周期 ===
=== Maven 概念模型 ===


== 项目构建 ==
== 项目构建 ==
第133行: 第147行:


=== Eclipse下的命令 ===
=== Eclipse下的命令 ===
=== 生命周期 ===


== 依赖管理 ==
== 依赖管理 ==

2020年10月21日 (三) 23:11的版本


关于Maven

介绍

maven翻译为“专家”、“内行”,是Apache下的一个纯Java开发的开源项目, 它是一个项目管理工具,可以使用maven对java进行项目构建、依赖管理

项目构建

  • 项目构建,是一个项目从编写源代码到编译、 测试、 运行、 打包、 部署、 运行的过程;

传统项目构建过程:

传统项目构建.jpg

  1. 在eclipse中创建一 个javaweb工程
  2. 在工程中编写源代码及配置文件等
  3. 对源代码进行编译,java文件编译成 class文件
  4. 执行Junit单元测试
  5. 将工程打成war包部署至tomcat运行


maven项目构建过程:

  • maven将项目构建的过程进行标准化,每个阶段使用一个命令完成。

Maven项目构建.jpg 上图中部分阶段对应命令如下:

  1. 清理阶段:“clean”,用于清理输出的class 文件;
  2. 编译阶段:“compile”, 用于将java代码编译成 class文件;
  3. 打包阶段:“package”,java工程可以打成jar包,web包可以打成war包;
  • 运行maven工程(web工程)需要命令:“tomat:run


优点:

  1. 一个命令完成构建、运行,方便快捷。
  2. maven对每个构建阶段进行规范,非常有利千大型团队协作开发。

依赖管理

是依赖管理:就是对项目所有依赖的」ar包进行规范化管理。

传统项目的依赖管理

传统的项目工程要管理所依赖的jar包完全靠人工进行,程序员从网上下载jar包添加到项目工程中。这个过程中容易出现很多问题:

  1. 没有对jar包的版本统一管理, 容易导致版本冲突
  2. 从网上找jar包非常不方便, 有些jar找不到。
  3. jar包添加到工程中导致工程过大。

Maven项目的依赖管理

maven项目管理所依赖的jar包不需要 手动向工程添加jar包,只需要在“pom.xml”(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行,如下图: Maven项目的依赖管理.jpg


优点:

  1. 通过pom.xml文件对jar包的版本进行统一管理, 可避免版本冲突
  2. maven团队维护了一个非常全的maven仓库, 里边包括了当前使用的jar包, maven工程可以自动从maven仓库下载jar包, 非常方便。

使用Maven的优点

  1. 一步构建
    maven对项目构建的过程进行标准化, 通过一个命令即可完成构建过程。
  2. 依赖管理
    maven工程不用手动导」ar包, 通过在pom.xml 中定义坐标从maven仓库自动下载,方便且不易出错。
  3. maven的跨平台, 可在window、linux上使用。
  4. maven遴循规范开发有利于提高大型团队的开发效率, 降低项目的维护成本, 大公司都会考虑使用maven来构建项目。

入门

下载

  • [1]可下载maven最新版本。



安装与配置

解压:将maven解压到一个不含有中文和空格的目录中。

Maven目录结构.jpg
  1. “bin”:“mvn.bat”(以run方式运行项目)、“mvnDebug.bat”(以debug方式运行项目);
  2. “boot”:maven运行需要类加载器;
  3. “conf”:“settings.xml”整个maven工具核心配置文件;
  4. “lib”:maven运行依赖jar包;


环境变量:

  • 添加“%MAVEN_HOME%/bin”到path;
    Maven环境变量.png


验证安装:

  • 通过“mvn -v”命令检查maven是否安装成功:
    Maven验证安装.jpg

Maven 仓库

maven的工作需要从仓库下载些jar包,本地项目都会通过maven软件从远程仓库下载jar包并存在本地仓库,本地仓库存在的jar包就不用每次从远程仓库下载了。

仓库类型

  1. 本地仓库: 用来存储从远程仓库或中央仓库下载的插件和jar 包,项目使用一些插件或jar包,优先从本地仓库查找。
    默认本地仓库位置在“${user.dir}/.m2/repository”中,(“${user.dir}”表示windows用户目录)。
  2. 远程仓库: 如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。
    远程仓库可以在互联网内也可以在局域网内。
  3. 中央仓库: 在maven软件中内置一个远程仓库地址“http://repol.maven.org/maven2”,它是中央仓库,由Maven团队维护,服务于整个互联网,里面存储了非常全的jar包,包含了世界上大部分流行的开源项目构件。

配置本地仓库

在“%MAVEN_HOME%/conf/settings.xml”文件中配置本地仓库位置:

<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>
   -->
   <localRepository>D:\repository</localRepository>
   
   ...
</settings>

入门程序

项目工程目录约定

常用命令

生命周期

Maven 概念模型

项目构建

M2e 插件安装配置

坐标定义

构建 Web 项目

Eclipse下的命令

依赖管理

添加依赖

依赖范围

Tomcat 插件