有些东西不用就忘了.....
【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项目了
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 时候,可以导入依赖配置。