Maven笔记


有些东西不用就忘了.....


【Maven】笔记

A、

1、Maven安装

下载Maven插件: http://maven.apache.org/

Maven笔记_第1张图片

2、将下载好的bin文件放到指定的硬盘(如:D盘)下,解压,配置环境变量

Maven笔记_第2张图片


3、配置完成进入dos面板,输入mvn -version  出现以下即是安装成功

Maven笔记_第3张图片


以上是完成了Maven的安装,并没有配置,比如迁移中央仓库位置(默认在C盘User目录下)一般是需要迁出来


B、

Eclipse的Maven的配置


Eclipse低版本的需要安装插件,大家看本文评论浏览即可,我会写上下载Eclipse的Maven插件地址,

高版本的Eclipse 自带就有Maven插件,比如 Luna,mars版本,自带还有Git插件,所以最好下载高版本。

我用的就是Luna版本,安装插件的话,自己百度,这个问题不大!


1、迁出本地中央仓库的位置

在解压好的apache-maven中找到settings.xml配置文件,看图

Maven笔记_第4张图片


打开修改即可

Maven笔记_第5张图片


2、将修改完毕的settings.xml文件拷贝一份,然后将Eclipse的Maven默认User Settings指到这个settings.xml配置文件,如图

Maven笔记_第6张图片


ok,已经完成迁出本地中央仓库的位置了


3、Eclipse 更改默认的jre,使用的是jdk里面的jre

   同时,新建的项目也是使用这个,否则目录结构不正确。


Maven笔记_第7张图片


  Maven笔记_第8张图片



C、

新建Maven项目

wKiom1bBdavRiFaSAAAjajv48aU726.png

这两个可以认为是  JavaEE项目和web项目

1、这里我们就新建JavaEE项目了

Maven笔记_第9张图片zhao

2、Maven的几个命令

  1、mvn compile 编译

  2、mvn clean   清除

  3、mvn package 打包

  4、mvn install 发布到本地仓库

以上几个命令都是 dos命令

Eclipse 中 Maven插件 直接封装成了 操作指令,大大方便!鼠标右键pom.xml Run As 即可


3、Maven下载架包的地址在国外 ,所以可能会使下载的速度慢,我们也可以找一些稳定的国内的maven repository

找到apache-maven  lib  maven-model-builder  解压 

Maven笔记_第10张图片

更改pom.4.0.0.xml文件即可


D、

Maven的特性

1、Maven依赖性

比如,service 依赖 spring  spring依赖某个架包  Commons-logging.jar

分模块开发中  service  dao  controller都是独立开发 ,最后项目合并测试   controller 引入 service架包 即可将dao架包 一并引入

2、Maven依赖遵循 最短路径原则和最先申明原则

3、Maven聚合和继承

   新建JavaEE 项目 在pom.xml中 将dao  service  进行统一管理(版本...)

 <modules>  	
     <module>../orm-dao</module>  	
     <module>../orm-service</module>  
 </modules>
 <properties>  	
     <spring.version>4.1.7.RELEASE</spring.version>  	
     <junit.version>4.12</junit.version>  	
     <log4j.version>1.2.17</log4j.version>  
 </properties>

 父

<dependency>	
    <groupId>log4j</groupId>	
    <artifactId>log4j</artifactId>	
    <version>${log4j.version}</version>
</dependency>

<dependency>	
    <groupId>log4j</groupId>	
    <artifactId>log4j</artifactId>
</dependency>

ok

4、Maven依赖范围

classpath 分为三种:编译 classpath , 测试 classpath , 运行 classpath

Scope 选项如下:

Compile:编译依赖范围。默认就是 compile。在编译,测试,运行都有效;

Test:测试依赖范围。仅测试有效; 例如 JUnit;

 <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
 </dependency>

Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api。

 <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
 </dependency>


System:系统依赖范围(了解即可)使用 system 范围的依赖必须通过sytemPath 指定依赖文件的路径。

Import:导入依赖范围(了解即可)使用 dependencyManagement 时候,可以导入依赖配置。



你可能感兴趣的:(maven,笔记)