Maven3

1.Maven认知

Maven 是一个项目管理工具。可以通过一段描述信息很方便的管理项目报告,生成站点,管理JAR文件,等等。
Maven 以“程序构建能力”为特色,还提供高级项目管理工具。Maven 的“缺省构建规则”具有较高的可重用性。

一个完整的Maven包括:

  1. 一个项目对象模型(Project Object Model,POM)
  2. 一个项目生命周期(Project LIfecycle)
  3. 一个依赖管理系统(Dependency Management System )
  4. 逻辑:用来定义在生命周期阶段中“插件目标”(plugin goal)

当使用 Maven 时,用一个明确的 pom 来描述项目,然后 Maven 利用横切逻辑,这些逻辑来自一组共享的(或者自定义)的插件。

Maven 的生命周期在运行 mvn install 时被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达指定的生命周期。

在此期间,Maven 运行了许多默认的插件目标,包括“编译”和创建一个JAR文件,通俗地说,不需要再手动点击编译运行按钮。

2.Maven 的安装与配置

Maven 下载:http://maven.apache.org/download.cgi

  1. 首先要确定 jdk 已经安装和配置
  2. maven-xxxx-xxx-bin.jar 解压到放到 D 盘
  3. 配置 maven 环境系统变量:M2_HOME       D:\maven\apache-maven-3.3.3
  4. 配置Path: 加上 ;%M2_HOME%\bin
pom.xml 文件
<!-- 
  modelVersion:POM 模型版本 4.0.0 固定
  groupId:一般指某个公司或者某个组织的某个项目 比如 org.springframework
  artifactId:一般指某个具体项目的某个具体模块 比如 spring-context
  Version:项目的版本
-->

<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>com.java1234.HelloWorld</groupId> <artifactId>HelloWorld</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies>     <!--Mvn 远程仓库 注入相应依赖-->
   </dependencies>
</project>
  • Maven 常见命令
    • Mvn compile 编译
    • Mvn clean 清空
    • Mvn test 测试
    • Mvn package 打包
    • Mvn install 把项目安装到本地仓库
  • Mvn 远程仓库地址:
  • Maven 本地仓库迁出 C 盘:配置 setting 文件
    <localRepository>D:\maven\repository</localRepository>

3. m2eclipse 插件安装

 打开 Eclipse,点击菜单 Help - > Install New Software 点击 Add 按钮

(由于最新版的 Eclipse 代号 Mars,已经直接集成了 Maven,所以无需在安装 m2eclipse 插件)

配置:

  1. 配置本地仓库;
  2. 配置下载 jar 包源码;(下载JAR包的同时下载源码)

Windows -> preference -> moven ->勾选以下两项!

4. Maven 核心技术

1.Maven 仓库概念
    • Maven 远程仓库配置文件: $M2_HOME/lib/maven-model-builder-3.3.3.jar
    • 文件:org\apache\maven\model\pom-4.0.0.xml
      <repositories>
          <repository>
              <id>central</id>
              <name>Central Repository</name>
              <url>https://repo.maven.apache.org/maven2</url>
              <layout>default</layout>
              <snapshots>
                  <enabled>false</enabled>
              </snapshots>
           </repository>
      </repositories>

       

2.Maven 的依赖特性:

依赖选择按照:“最短路径原则” 和 “最先声明原则”

3.Maven 聚合和继承特性
5.Maven 依赖范围

classpath 分为3种:

    1. 编译 classpath,
    2. 测试 classpath,
    3. 运行 classpath

Scope 依赖范围选项:

      • Compile:编译依赖范围,默认就是compile。在编译、测试、运行均有效;
      • Test:测试依赖范围。仅在测试有效,如JUnit;
      • Provided:已提供依赖范围。编译、测试有效,运行时无效,如servlet-api;
      • ystem:系统依赖范围。使用system范围的依赖必须通过systemPath指定依赖文件的路径;
      • Import:导入依赖范围。使用dependencyManagement时,可以导入依赖配置。

5. Maven 生命周期与插件

Maven 通过插件的方式来完成一系列过程来实现功能。

Maven 拥有三套独立的生命周期:

 

Clean 生命周期

    • pre-clean:执行一些清理前需要完成的工作
    • clean:清理上一次构建生成的文件
    • post-clean:执行一些清理后需要完成的工作

Default 生命周期

    • 1,validate;
    • 2,initialize;
    • 3,generate-sources;
    • 4,process-sources;
    • 5,generate-resources;
    • 6,process-resources;
    • 7,compile;
    • 8,process-classes;
    • 9,generate-test-sources;
    • 10,process-test-sources;
    • 11,generate-test-resources;
    • 12,test-compile;
    • 13,process-test-classes;
    • 14,test;
    • 15,prepare-package;
    • 16,package;
    • 17,pre-integration-test;
    • 18,integration-test;
    • 19,post-integration-test;
    • 20,integration-test;
    • 21,post-integration-test;
    • 22,verifty;
    • 23,install;
    • 24,deploy;

Site 生命周期

    • pre-site:
    • site:
    • post-site:
    • site-deploy:

书籍推荐:《Maven实战》许晓斌 著

 

转载于:https://www.cnblogs.com/Cocoomg/p/9864877.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值