Maven笔记

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

【Maven】笔记

A、

1、Maven安装

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

wKioL1bBb9HzIf9sAAEumhDJx54519.png

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

wKiom1bBcB2gLwoOAAAaHFcjKg4839.png

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

wKioL1bBcOXSnoxvAAA-h2ZyY3M147.png

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

B、

Eclipse的Maven的配置

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

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

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

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

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

wKioL1bBc2zwKWkwAAAzM1T9BHw746.png

打开修改即可

wKioL1bBdADhA7OuAAA0UKCjCls181.png

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

wKiom1bBdMfCW3-sAACacpTBiLE810.png

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

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

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

wKioL1bBgn3QFzzNAAA7__v9YPk081.png

  wKioL1bBg_qzVz5QAADPqej25Qo349.png

C、

新建Maven项目

wKiom1bBdavRiFaSAAAjajv48aU726.png

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

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

wKioL1bBeS7DUKb-AACPzGaW1S8658.pngzhao

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  解压 

wKiom1bBe0vRMv73AAB7HCGjxjc415.png

更改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  进行统一管理(版本...)

1
2
3
4
 <modules>    
     <module>../orm-dao</module>    
     <module>../orm-service</module>  
 </modules>
1
2
3
4
5
 <properties>     
     <spring.version>4.1.7.RELEASE</spring.version>     
     <junit.version>4.12</junit.version>    
     <log4j.version>1.2.17</log4j.version>  
 </properties>

 父

1
2
3
4
5
<dependency
    <groupId>log4j</groupId>   
    <artifactId>log4j</artifactId
    <version>${log4j.version}</version>
</dependency>

1
2
3
4
<dependency
    <groupId>log4j</groupId>   
    <artifactId>log4j</artifactId>
</dependency>

ok

4、Maven依赖范围

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

Scope 选项如下:

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

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

1
2
3
4
5
 <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
 </dependency>

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

1
2
3
4
5
 <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
 </dependency>

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

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

原文地址:https://www.cnblogs.com/catkins/p/5508892.html