Maven基础知识总结

Maven

从前项目的问题:
1.需要添加jar包(包之间的兼容性)
2.运行代码,测试麻烦
安装maven并配置
1.解压maven,最好不要放太深,最好不要有中文
2.打开环境变量,配置MAVEN_HOME------maven 路径
3.配置path ----%MAVEN_HOME%
4.在cmd  输入  mvn -v  测试成功否

1.Maven 定义作用

2.1、Maven 翻译为“知识的积累”,“专家”,“行家”,是一个跨平台的项目管理工具;
2.2、Maven 主要用作基于 Java 平台的项目(Maven 本身也是 Java 编写的)的构建、依赖包管理和项目信息管理;
2.3、Maven 能提供一种项目的配置,配置好的项目,只需要运行一条简单的命令,就能完成重复的,繁琐的构建动作;
2.4、Maven 能提供一种项目的依赖配置,配置好的项目,Maven 能自动的从 Maven 的中央仓库中帮我们下载并管理项目依赖的 jar 包,并且还能自动的管理这些 jar 包依赖的其他 jar 包;
2.5、Maven 提供了一种标准的项目目录结构,测试命名规则等项目的最佳实践方案,统一了不同项目的学习成本(约定大于配置)。

2.Maven设置

1、.m2 目录

运行过 Maven 命令才会生成该目录,该目录默认情况下存放 Maven 本地仓库,本地仓库是一个 repository 文件夹,里面主要是一些下载的 jar 文件。
通过 mvn install 命令会把自己项目打成包存放在本地仓库中。

2、修改本地仓库的位置

本地仓库默认位置在 ${user.home}/.m2/repository,本地仓库不建议在系统盘,最佳实践:

2.1、将 Maven 根目录的 conf/settings.xml 拷贝到 .m2 中,作为个人 Maven 配置文件;
2.2、在 settings.xml 文件中 <localRepository> 修改本地仓库的位置。

3、配置中央仓库镜像

原因:有网情况,官方中央仓库在国外,下载很慢;无网情况(但在局域网),不能下载。

3.1、有网情况

在 setting.xml 中配置国内的阿里镜像:
<mirror>  
        <id>alimaven</id>  
        <name>aliyun maven</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
        <mirrorOf>central</mirrorOf>
</mirror>  

3.2、无网情况

先在局域网找一个主机(可以上网)搭建 Maven 私服。

再在 setting.xml 中配置 Maven 私服镜像:
<mirror>  
        <id>localmaven</id>  
       <name>local maven</name>  
       <url>Maven 私服地址</url>
       <mirrorOf>central</mirrorOf>  
</mirror>

3.Eclipse配置Maven

1.在windows 找到maven--installations  选择maven目录
2.设置settings.xml和本地仓库位置  ---user Settings
3.下载源码设置   maven中勾选 Download Artifact Sources

4.maven创建se项目

1.新建maven项目
2.跳过框架,填写公司名,版本号,打包方式选为jar
3.建立本地仓库索引
右键local.....-----Rebuild Index
4.在pom.xml中添加依赖
	3.1 右键maven--addDependency 添加依赖
	3.2 还可以在官网查询依赖 复制
5.使用maven命令

5.maven创建web项目

1.新建maven项目
2.跳过框架,填写公司名,版本号,打包方式选为war
3.在webapp下添加WEB-INF/web.xml文件
4.添加插件---修改项目的编译版本为1.8
5.在Maven | Update Project更新项目
6.添加依赖 servlet的依赖    ** 注意要写<scope>provide</scope>
7.编写servet和jsp 测试
8.配置Tomcat插件----启动Tomcat-----输入tomcat7:run

6.坐标

Maven中的坐标

标识项目在仓库中的位置。主要由下面构成:
groupId:项目名称,一般使用公司或组织域名倒写,域名具有唯一性,区分不同公司;
artifactId:项目中 Maven 项目/模块名称,区分同一个公司的项目;
version:项目版本,区分同一个项目不同时期的特点。

7.依赖

配置项目所要依赖的jar,在pom.xml使用dependency元素配置,通过坐标先从仓库找。

2.1、scope

Maven在编译,测试,运行的时候,各需要一套classpath(比如编译的时候会有编译的 classpath,测试的时候会有测试的 classpath)。
scope表明该依赖的项目和三个classpath 的关系,即表示依赖什么阶段起作用,什么阶段不起作用。
scope 主要可选值:
a、compile:默认,适用于所有阶段,会随着项目一起发布,在编译,测试,运行时都有效;
b、provided:编译和测试阶段使用;典型的如 servlet-api.jar,打包时不需要,容器来提供;
c、runtime:测试和运行阶段使用,用于接口和实现分离,典型的如 jdbc 具体驱动实现;
d、test:测试阶段使用,不会随项目发布,如 junit。


2.2、传递性

Maven的依赖是具有传递性的,比如 A -> B,B -> C,那么A间接的依赖于C,这就是依赖的传递性,其中A对于B是第一直接依赖,B对于C是第二直接依赖,C为A的传递性依赖。依赖的传递性可以解决依赖繁琐的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值