maven学习整理-基础知识
1.maven认识
maven是一种自动化的构建工具,它主要解决的问题有:
①项目中的划分规则:原先我们用package或文件夹的形式来划分不同模块,导致在一个项目中存在大量的文件夹和包代码显得庞大;使用maven后可以根据不同的模块属性将单个工程拆分成多个maven的java\web工程。
②jar包重用性:原先是每一个工程的lib文件夹下放置jar包加入到运行时环境,造成在不同的项目中使用相同的jar包,大量重复的jar包的降低服务器的磁盘存储空间;使用maven可以在服务器指定一个目录当做仓库(用来存储..jar等文件),不同的项目只需要引用即可不需要将jar包放入到本地lib文件下。
③jar包自动下载及jar之间的依赖:在pom.xml配置好相关信息时,maven会自动帮我们寻找\下载jar包及相依赖的包,自动将包导入到运行时环境。
2.maven安装及环境变量的配置
下载:点击可下载maven3不同版本:例如maven3.2.2的下载https://archive.apache.org/dist/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.tar.gz
安装:下载完成解压即完成安装
环境变量配置:MAVEN_HOME= 解压的文件路径(建议路径不要有中文和空格) 在这里也可以配置M2_HOME=解压的文件路径
%MAVEN_HOME%\bin; 在path后面追加即可(注意若上次在path追加是没有添加分号,本次需要添加分号)
配置好环境变量好,在cmd键入mvn -v,给出版本号等信息,安装完成
3.maven常用命令
①mvn -v:查看版本号等信息
②mvn clean:清理有上次构建留下的文件夹及文件信息
③mvn build:编译主程序
④mvn test-compile:编译测试程序
⑤mvn test:执行测试
⑥mvn package:打包 达成jar或war包
⑦mvn install:安装 将程序安装在本地仓库中
⑧mvn deploy:部署 操作复杂,子eclipse中能部署单无法关闭
注:maven的默认的仓库实在c:user\电脑属性中的计算机名\.m2\reposity,本地仓库的位置可以修改maven解压路径\conf\settings.xml的55行附近添加 <localRepository>D:\Java\maven\Reposity</localRepository>而本地的仓库就是在D盘下的Java\maven\Reposity文件
4.pom.xml文件的简单认识
POM project object model 核心配置爱文件,与构建过程相关的一切设置都在这个文件进行配置
坐标 groupid:公司或组织域名倒叙+项目名 GAV---maven坐标 仓库中的坐标不重复--标识信息+仓库目录
模块名 artifactid:是新建工程项目的名字
版本 version :分为两类 SNAPSHOT为不稳定版 RELEASE为稳定版
坐标与仓库中路径的对应关系 groupid\artifactid\version\artifactid-version
5.对仓库的简单认识
仓库是用来存放jar等文件用来在项目pox.xml引用,根据仓库的是否在本地把仓库简单分为两类
-1.本地仓库:本地仓库(本地服务器仓库)用来为本地的maven提供服务
-2.远程仓库:根据远程仓库的服务的范围的大小可以将远程仓库有分为三类
-2.1.私服:搭建在区域网环境中,为局域网中的maven提供服务
-2.2.中央仓库镜像:洲际环境中,分担中央仓库的压力,为洲际的maven提供服务
-2.3.中央仓库;世界级环境中,为全球的maven提供服务
maven在查找下载jar是的优先级为:本地仓库>私服>中央仓库镜像>中央仓库
maven学习整理-基础知识的更多相关文章
- maven学习整理-进阶知识
在maven的阶知识主要学习的是maven在eclipse中的使用.依赖相关的问题.继承(父子工程).统一版本管理.聚合等相关知识 1.maven在eclipse中的使用 由上篇基础知识学习到怎样下载 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))
关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...
- 学习Python3基础知识过程中总结
print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...
- three.js学习笔记--基础知识
基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...
- SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数
Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下: ...
随机推荐
- Dart 和 Flutter 使用json_annotation和json_serializable来处理json数据教程
在学习fultter的时候突然想到如何去处理从服务器获取的json或者将app中的对象数据转换成json上传给服务器 于是研究一下dart对json数据的处理 首先需要依赖下面的第三方库(这里要强调下 ...
- 团队冲刺DAY7
团队冲刺DAY7 今天是2019.6.2,交项目的最后一天. 今天的任务是将之前写好的服务器和加解密算法以及图形界面有机结合在一起. 早上8:00,坐在电脑前,一脸懵,因为图形界面不是很懂,所以不知道 ...
- CJE-Jenkins认证工程师考试预约报名流程
先决条件 考试费用150美元,需要由master/visr信用卡支付 考试全英文 哈哈哈 考试目的 通过各种渠道能够找到Jenkins的学习资料,并能够完成jenkins的配置管理,还是想全面的系统 ...
- 仿flask写的web框架
某大佬仿flask写的web框架 web_frame.py from werkzeug.local import LocalStack, LocalProxy def get_request_cont ...
- jquery 找到指定父级指定子集
其中 closest() : jquery 1.3 新增 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素. 其中 find() : 搜索所有与指定表达式匹配的元素.这个函数是找出正在处理的元 ...
- PHP中输出字符串(echo,print,printf,print_r和var_dump)的区别【转载】
php中常见的输出语句 echo()可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. prin ...
- JDK动态代理源码剖析
关键代码: 1.Proxy.newInstance: private static final Class<?>[] constructorParams = { InvocationHan ...
- Spring Cloud动态刷新配置信息
有时候在配置中心有些参数是需要修改的,这时候如何不重启而达到实时生效的效果呢? 添加依赖 <dependencies> ... <dependency> <groupId ...
- [已解决]报错: twisted 18.7.0 requires PyHamcrest>=1.9.0
1.下载对应的Twisted,下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 2.通过Anaconda3的Anaconda Promp ...
- RedisTemplate序列号自增id(当前日期+序列号)
话不多上,直接上码 public class TestService { @Resource RedisTemplate<String, Object> redisTemplate; pu ...