Maven笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven笔记相关的知识,希望对你有一定的参考价值。


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


【Maven】笔记

A、

1、Maven安装

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

技术分享

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

技术分享


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

技术分享


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


B、

Eclipse的Maven的配置


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

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

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


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

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

技术分享


打开修改即可

技术分享


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

技术分享


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


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

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


技术分享


  技术分享



C、

新建Maven项目

技术分享

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

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

技术分享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  解压 

技术分享

更改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 时候,可以导入依赖配置。



本文出自 “诺言永远依恋小柴、、、” 博客,请务必保留此出处http://1936625305.blog.51cto.com/6410597/1742139

以上是关于Maven笔记的主要内容,如果未能解决你的问题,请参考以下文章

maven 简易入门笔记

Maven 基础知识总结笔记

Maven基础笔记,原理

读书笔记——《Maven实战》

Java开发学习笔记:Maven基础

maven build脚本笔记