java结丹期(15)----javaweb(maven(1))
1.maven的基本概念
Maven的正确发音是[ˈmevən](妹瘟),而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思。
一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
2.Maven能解决什么问题
1、我们需要引用各种jar包,尤其是比较大的工程,引用的jar包往往有几十个乃至上百个, 每用到一种jar包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的jar包冲突,版本冲突。
2、世界上没有不存在bug的代码,计算机喜欢bug就和人们总是喜欢美女帅哥一样。为了追求美为了减少bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。
3、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型打包,如果是web项目,还需要将之发布到服务器,供人蹂躏。
试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成Web站点,你会心动吗?Maven就可以解决上面所提到的这些问题。
2.Maven的两个精典作用
Maven的依赖管理
maven工程中不直接将jar包导入到工程中,而是通过在pom.xml文件中添加所需jar包的坐标,这样就很好的避免了jar直接引入进来,在需要用到jar包的时候,只要查找pom.xml文件,再通过pom.xml文件中的坐标,到一个专门用于”存放jar包的仓库”(maven仓库)中根据坐标从而找到这些jar包,再把这些jar包拿去运行。
项目的一键构建
我们的项目,往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程。
什么是构建?
指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给maven进行管理,这个过程称为构建。
一键构建
指的是整个构建过程,使用maven一个命令可以轻松完成整个工作。
3.Maven的安装
1.Maven软件的下载
下载地址http://maven.apache.org/download.cgi
下载后的版本如下:
2.Maven下载后,将Maven解压到一个没有中文没有空格的路径下,比如D:\software\maven下面。
解压后目录结构如下:
bin:存放了maven的命令,比如我们前面用到的mvn tomcat:run
boot:存放了一些maven本身的引导程序,如类加载器等
conf:存放了maven的一些配置文件,如setting.xml文件
lib:存放了maven本身运行所需的一些jar包
至此我们的maven软件就可以使用了,前提是你的电脑上之前已经安装并配置好了JDK。
3.JDK的准备及统一,JDK使用JDK8版本
4.电脑上需安装java环境,安装JDK1.7 + 版本 (将JAVA_HOME/bin 配置环境变量path ),我们使用的是JDK8相关版本
配置 MAVEN_HOME ,变量值就是你的maven安装 的路径(bin目录之前一级目录)
5.上面配置了我们的Maven软件,注意这个目录就是之前你解压maven的压缩文件包在的的目录,最好不要有中文和空格。
再次检查JDK的安装目录,如下图:
6.Maven软件版本测试
通过 mvn -v命令检查 maven是否安装成功,看到maven的版本为3.5.2及java版本为1.8即为安装成功。
找开cmd命令,输入mvn –v命令,如下图:
我们发现maven的版本,及jdk的版本符合要求,这样我们的maven软件安装就成功了。
Maven仓库的分类
maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A、项目B等都会通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。
1.本地仓库 :用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找
默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows用户目录。
2. 远程仓库:如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。
3.中央仓库 :在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由Maven团队自己维护,里面存储了非常全的jar包,它包含了世界上大部分流行的开源项目构件。
java结丹期(15)----javaweb(maven(1))相关推荐
- java结丹期(16)----javaweb(maven(2))
idea开发maven项目(电脑上一定要安装maven,并配置好环境变量才可开始下面的操作) 1.idea的maven配置 打开File→Settings配置maven 依据图片指示,选择本地mave ...
- java结丹期(14)----javaweb(cookiesession)
Cookie: 1. 概念:客户端会话技术,将数据保存到客户端 2. 快速入门: * 使用步骤: 1. 创建Cookie对象,绑定数据 * new Cookie(String ...
- java结丹期(13)----javaweb(responserequestservletcontext)
Request 1. request对象和response对象的原理 1. request和response对象是由服务器创建的.我们来使用它们 2. requ ...
- java结丹期(12)----javaweb(servletHTTPweb相关基本概念)
web相关概念回顾 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静 ...
- java结丹期(11)----javaweb(jstljsp)
JSP(JavaServer Pages): 1. 概念: * Java Server Pages: java服务器端页面 * 可以理解为:一个特殊的页面,其中既可以指定定义h ...
- 接口测试(筑基期>>>结丹期)
• 初识HTTP • HTTP的工作原理 • 请求行.状态行和消息报头 • 缓存和认证 • Fiddler的基本介绍 HTTP 的原理 HTTP 1.0 1.连接过程是短暂的 2.每次连接只处理一个请 ...
- 图文具体解释 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)
图文具体解释 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目. 2.设置 GAV 坐标 3. ...
- 图文详解 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)
图文详解 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目. 2.设置 GAV 坐标 ...
- 黑马程序员,黑马论坛----Java+云计算2期,就业率96.15%,平均薪水6820元!
来源:黑马程序员,黑马论坛 Java+云计算2期,就业率96.15%,平均薪水6820元! 班级名称:JavaEE+云计算2期 毕业时间:2013年7月9日 总人数:52 班主任:张道平 就业指 ...
最新文章
- 城市生态的机器人革命
- 学习这门课的一些问题
- python flask flash消息闪现
- DM8168 DVRRDK软件框架研究
- 从 Demo 中学习 Solidity
- Java Spring MVC框架搭建(一)
- 过滤被7整除或者包含7的数子
- WTM 3.5发布,VUE来了!
- axios 参数为payload的解决方法
- asp.net单一登录
- Linux删除安卓温控,RK平台关闭温度控制降频功能
- Python适合初学者入门
- python3使用print打印带颜色的字符串
- [转]pip – pip安装和使用教程
- 求解鸡兔同笼问题C语言
- The Code is successfully generatd...使用stm32cude生成工程时报错
- 使用JavaScript生成二维码和识别二维码
- nginx服务器配置
- 小程序防抖功能以及wx:for的使用
- 日志:每个软件工程师应该知道的实时数据的统一抽象概念
热门文章
- SpringMVC 中静态资源的处理
- matlab bs2rv.m,Matlab智能算法之遗传算法(一)
- 这个省到2025年,PUE>1.3存量大型数据中心将全部腾退关停!
- 关于对2020年数据中心的发展的8个预测
- 腾讯天津数据中心余热回收应用初探
- 关于数据中心的选址大全
- 百度地图 key_Android百度地图导航的接入(包含驾车、公交、步行)
- java 对外提供接口_Java服务器对外提供接口以及Android端向服务器请求数据
- 成功解决ModuleNotFoundError: No module named 'torchvision.ops'
- Gradient Tree Boosting:梯度提升树详解