maven(二)

Maven安装与配置:
1 检查jdk的安装 版本必须是 1.7 以上
2 maven的下载地址:
:http://maven.apache.org/download.html
3 配置maven的环境变量
w7 :

解压后把Maven的根目录配置到系统环境变量中MAVEN_HOME,将bin目录配置 到 path 变量

w10:
解压后的maven跟目录配置到系统的环境变量中;
path里,将maven的bin目录直接放到path中
在这里插入图片描述
在这里插入图片描述
下面第二个红线是git配置的环境变量
第一个是maven的环境变量

配置完检测maven知否安装成功:

检测 maven 是否安装成功 mvn -v

在这里插入图片描述
认知maven目录结构;
在这里插入图片描述
groupId 定义了项目属于哪个组, 这个组往往和项目所在的组织和公司存在关联。

artifactId 定义了当前 Maven 项目在组中唯一的 ID

.编写主函数
在这里插入图片描述
cmd 下编译并运行
cmd 下面 进入项目的根目录
1.mvn compile 编译 java 文件
2. mvn exec:java -
Dexec.mainClass=“com.shsxt.demo.Hello” 执行 main 方
法。

在这里插入图片描述

eclipse 下 Maven 环境配置

在这里插入图片描述
添加我们下载的 maven 版本

在这里插入图片描述
修改 settings.xml 配置文件地址
在这里插入图片描述
建立 maven 项目

这里建立的属于 web 型项目,选择 maven project
在这里插入图片描述
www.shsxt.com
添加 Artifact Id在这里插入图片描述
在这里插入图片描述
Maven 项目建立后,这时需要修改 maven 项目相关环境
a).修改 jre 环境为 1.7(安装 1.8 的调整到 1.8) b).修改 web 环境 修改 domnamic web module 2.3 到 3.0 修改 java 1.5->1.7
在这里插入图片描述
在这里插入图片描述
III 添加 web 项目部署插件
jetty/tomcat 修改 pom.xml 文件 jetty 插件配

在这里插入图片描述
启动项目

选中项目 run as -->maven build -->goals 输入命令 jetty:run 启动 jetty 服务器 也可以不配置 configuration,输入命令 jetty:run -Djetty.port=9999 启动服务
在这里插入图片描述
在这里插入图片描述
启动项目
选中项目 run as -->maven build -->goals 输入命令 tomcat7:run 启动 tomcat 服务器

Maven 仓库的基本概念
当第一次运行 Maven 命令的时候, 你需要 Internet 链接, 因为它需要从网上下载一些文件。 那么它从哪里下载呢? 它是从 Maven 默认的远程库下载的。 这个远程仓库由 Maven 的核心插件和可供下载的 jar 文件。

对于maven来说maven仓库有两类
本地仓库和远程仓库

当 Maven 根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在,则 直接使用; 如果本地没有,Maven 就会去远程仓库查找,发现需要的构件之后,下载到本 地仓库再使用。 如果本地仓库和远程仓库都没有,Maven 就会报错。

远程仓库分为三种:中央仓库 私服 其他公共库

中央仓库是默认配置下,Maven 下载 jar 包的地方。

私服是另一种特殊的远程仓库,为了节省带宽和时间,应该在局域网内架设一个私有的
仓库服务器,用其代理所有外部的远程仓库。 内部的项目还能部署到私服上供其他项目使
用。

一般来说,在 Maven 项目目录下,没有诸如lib/这样用来存放依赖文件的目录。 当 Maven 在执行编译或测试时,如果需要使用依赖文件,它总是基于坐标使用本地仓库的依
赖文件。
默认情况下, 每个用户在自己的用户目录下都有一个路径名为.m2/repository/的仓库 目录。 有时候,因为某些原因(比如 c 盘空间不足),需要修改本地仓库目录地址。 对于仓库路径的修改,可以通过 maven 配置文件 config 目录下 settings.xml 来
指定仓库路径

在这里插入图片描述
II 私服
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务, 私服代理广域网上的
远程仓库,供局域网内的 maven 用户使用。当 maven 需要下载构件时,它去私服当中找, 如果私服没有, 则从外部远程仓库下载,并缓存在私服上, 再为 maven 提供。

Maven 环境下多模块项目构建

在这里插入图片描述
maven 项目打包操作

对于企业级项目,无论是进行本地测试,还是测试环境测试以及最终的项目上线,
都会涉及项目的打包操作,对于每个环境下项目打包时,对应的项目所有要的配置资源就会
有所区别,实现打包的方式有很多种,可以通过 ant,获取通过 idea 自带的打包功能实现
项目打包,但当项目很大并且需要的外界配置很多时,此时打包的配置就会异常复杂,对于
maven 项目,我们可以用过 pom.xml 配置的方式来实现打包时的环境选择,相比较其他 形式打包工具,通过maven 只需要通过简单的配置,就可以轻松完成不同环境先项目的整
体打包。
比如下面这样一个项目,项目中配置了不同环境下项目所需要的配置文件,这时候需要完成 不同环境下的打包操作,此时通过修改 pom.xml 如下:
在这里插入图片描述
在这里插入图片描述
对于项目资源文件的配置放在 build 中
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Maven 依赖的基本概念

I 依赖的基本配置
根元素 project 下的 dependencies 可以包含多个 dependence 元素,以声明多
个依赖。每个依赖都应该包含以下元素:

  1. groupId, artifactId, version : 依赖的基本坐标, 对于任何一个依赖 来说,基本坐标是最重要的, Maven 根据坐标才能找到需要的依赖。
  2. Type: 依赖的类型,大部分情况下不需要声明。 默认值为 jar
    1. Scope: 依赖范围(compile,test,provided,runtime,system) compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此 依赖范围的 Maven 依赖,对于编译、测试、运行三种 classpath 都有效。 test: 测试依赖范围。使用此依赖范围的 Maven 依赖,只对于测试 classpath 有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。 典型的例子就是 JUnit,它只有在编译测试代码及运行测试的时候才需要。 provided: 已提供依赖范围。使用此依赖范围的 Maven 依赖,对于编译和测 试 classpath 有效,但在运行时无效。典型的例子是 servlet-api,编译
      和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就
      不需要 Maven 重复地引入一遍(如:servlet-api)。 runtime: 运行时依赖范围。使用此依赖范围的 Maven 依赖,对于测试和运 行 classpath 有效,但在编译主代码时无效。典型的例子是 JDBC 驱动实现, 项目主代码的编译只需要 JDK 提供的 JDBC 接口,只有在执行测试或者运行项 目的时候才需要实现上述接口的具体 JDBC 驱动。 system: 系统依赖范围。该依赖与三种 classpath 的关系,和 provided 依赖范围完全一致。但是,使用 system 范围依赖时必须通过 systemPath 元素显式地指定依赖文件的路径。由于此类依赖不是通过 Maven 仓库解析的,
      而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用。
  3. Optional:标记依赖是否可选
    1. Exclusions: 用来排除传递性依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值