一头扎进Maven

第一章 问候 Maven 他大爷

第一节:Maven 简介

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软
件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有
序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认
的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

第二节:Maven 安装与配置

Maven 下载:http://maven.apache.org/download.cgi
首先要确定 jdk 已经安装和配置。把 maven 解压到放到 D 盘
配置 maven 环境变量:M2_HOME D:\maven\apache-maven-3.3 并在PATH中引入%M2_HOME%\bin

第三节:Maven Hello World 实现

先新建HelloWorld文件夹,建两个目录层级和一个mvn项目描述文件pom.xml:
HelloWorld\src\main\java\com\java1234\helloWorld
HelloWorld\src\test\java
HelloWorld\pom.xml

配置项解释:
modelVersion:POM 模型版本 4.0.0 固定
groupId:一般指某个公司或者某个组织的某个项目 比如 com.java1234.HelloWorld或org.springframework
artifactId:一般指某个具体项目的某个具体模块 比如HelloWorld或spring-context
Version:项目的版本
groupId,artifactId和version相当于坐标唯一定位一个jar包。

Maven 常见命令:
Mvn compile 编译
Mvn clean 清空
Mvn test 测试(junit 测试用)
Mvn package 打包
Mvn install 把项目安装到本地仓库
Mvn 远程仓库地址:http://mvnrepository.com/ (以后主要在这个网址上找jar包)

第四节:Maven 本地仓库迁出 C盘

maven默认下载jar包到${user.home}/.m2/repository目录下
修改D:\apache-maven-3.3.3\conf\settings.xml文件
<localRepository>D:\maven\repository</localRepository>

第二章 在 Eclipse 中使用 Maven

第一节:m2eclipse 插件安装

打开 Eclipse,点击菜单 Help - > Install New Software 点击 Add 按钮
Name:m2e location: http://download.eclipse.org/technology/m2e/releases
(由于最新版的 Eclipse 代号 Mars,已经直接集成了 Maven,所以无需在安装 m2eclipse 插件)
配置:
1,配置本地仓库;
window->preferences->maven->设置setting.xml文件
2,配置下载 jar 包源码;
window->preferences->maven->勾选Download Artifact Sources


第二节:在 Eclipse 中使用 Maven 开发 HelloWorld

新建other-->maven项目-->web项目选择maven-archetype-webapp 1.0

 

第三章 Maven 核心技术

第一节:Maven 仓库概念

Maven 远程仓库配置文件:
$M2_HOME/lib/maven-model-builder-3.3.3.jar
文件:org\apache\maven\model\pom-4.0.0.xml

实际操作中文件位置在D:/maven/apache-maven-3.2.5/confi/settings.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>

第二节:Maven 依赖特性

新建src/main/resources文件夹用于放log4j.properties,mybatis-config.xml配置文件.

本地B项目要依赖A项目,首先要将A项目maven install发布到本地仓库。
然后在B项目pom.xml配置
<dependency>
    <groupId>A项目groupid</groupId>
    <artifactId>A项目artifactId</artifactId>
    <version>A项目version<version>
</dependency>

第三节:聚合和继承特性

聚合:将两个以上的项目做统一管理
聚合的配置
新建一个项目,项目的pom.xml中写入
<modules>
    <module>项目A名字</module>
    <module>项目B名字</module>
    <module>../user-dao</module>
</modules>

继承:子项目继承父项目的特性,父项目统一了子项目依赖包的版本。
子项目中配置
<parent>
   <groupId>com.java1234.user</groupId>
  <artifactId>user-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <relativePath>../user-parent/pom.xml</relativePath> 寻找父项目pom.xml的相对路径
</parent>
父项目中配置并统一版本
  <dependencyManagement>
      <dependencies>
          <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.3.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>
        
        <dependency>
            ...
        </dependency>
    </dependencies>
  </dependencyManagement>
子项目中的配置不用规定版本号
<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
  </dependencies>

第四节:Maven依赖范围

     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
classpath 分为三种:编译 classpath , 测试 classpath , 运行 classpath
Scope 选项如下:
Compile:编译依赖范围。默认就是 compile。在编译,测试,运行都有效;
Test:测试依赖范围。仅测试有效; 例如 JUnit;
Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api。

第四章 使用Maven构建web项目

新建Maven项目,Artifact id为maven-archetype-webapp

补充:
maven官方下载Jar速度太慢了,经常超时,以及Jar包破损;
所以这里推荐Maven阿里云镜像,具体配置参考:
http://blog.java1234.com/blog/articles/252.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值