Maven 仓库、坐标、常用命令
maven中的仓库
需要jar包时,先到本地仓库中找,没有就从中央仓库去下载到本地仓库。
中央仓库很多都在国外,下载速度慢。国内的一些公司在自己的服务器上搭建了maven仓库(中央仓库的镜像),供内部人员使用,因为在公司私有的服务器上,所以又叫做私服。
有的公司把自己的maven分享出来,免费供开发者使用,比如阿里云的maven仓库。
如果使用了私服,需要jar包时,先到本地仓库中去找,找不到再去私服上找,如果私服上没有,就从中央仓库下载到私服,再从私服下载到本地仓库。
Maven中的坐标
Maven用坐标来唯一标识一个项目、依赖,坐标由三部分组成:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
- groupId 公司、组织的名称
- artifactId 项目名称
- version 项目版本号。SNAPSHOT,快照,开发中的版本,不稳定;Release,发布版本。
依赖的作用域:
依赖有3个作用时期:编译时、测试时、正式部署运行时。
有的依赖3个时期都要使用,有的依赖只在特定时期使用,可使用<scope>设置依赖的作用域:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<scope>常用的值:
- compile 默认值,编译、测试、正式运行,一般都使用默认值
- test 只在测试时有效,比如junit
- runtime 只在运行时有效(测试+正式运行)
- provided 只在编译、测试时有效
Maven常用命令
- mvn -v或-version 显式Maven的版本信息,一般用来验证maven是否配置成功
在cmd下就可以管理项目,先切换到项目的根文件夹:
- mvn clean 清理。删除target文件夹(之前编译、打包产生的文件)
- mvn compile 编译。对项目(src/main/java)进行编译
- mvn test 测试。先执行compile对项目(src/main/java)进行编译,再对项目测试(src/main/java)进行编译
- mvn package 打包。先执行compile、test,在将项目打包为jar或war。
- mvn install 安装。先执行compile、test、package,再将项目安装到本地仓库。本地仓库\groupId\artifactId,是放在公司、组织文件夹下的。
- mvn deploy 发布。将项目部署到web服务器。
这5个命令代表了项目的生命周期(Lifecycle)。
eg、我先将项目打包为jar,之后修改了代码,我执行install时,maven会自动先执行install之前的生命周期命令。
如果只是将之前的jar安装到本地仓库,那我做的修改岂不是无效了?为防止这种情况发生,maven会自动调用之前生命周期的方法,来更新项目。
这就是maven的对项目的自动构建。你执行deploy,编译、测试、打包、安装、部署都给你弄了。
每个命令都对应一个插件,执行命令实际是调用对应的插件来完成。
maven集成了tomcat插件,我们直接直接将项目部署到tomcat中:
- maven tomcat:run
注意:每次使用tomcat后,需要先点击停止,如果不点停止,直接重新部署、重启tomcat,可能会出现端口占用、内存泄漏的问题。
Maven 仓库、坐标、常用命令的更多相关文章
- Maven使用笔记(一)Maven安装及常用命令
1.Windows下安装Maven 首先去下载Maven安装包,http://maven.apache.org/download.cgi,目前最新版本是 Maven 3.2.3 . 解压到本地,可以看 ...
- Maven 插件 maven-tomcat7-plugin - 常用命令及配置
常用命令 tomcat7:deploy 说明:部署 WAR 到 Tomcat tomcat7:help 说明:查看插件帮助信息 tomcat7:run 说明:支行当前项目 配置 <project ...
- maven学习0 常用命令学习
mvn clean install -Dmaven.test.skip=truemaven的package与install命令区别: package是把jar打到本项目的target下,而instal ...
- Git 建立仓库及常用命令速查表
Git新建仓库两种模式: 一.项目在本地时,本地初始化仓库并提交至Coding.Net 新建一个空白目录并进入,执行如下流程 1.git init2.项目代码复制到当前目录3.git add *4.g ...
- 回顾:maven配置和常用命令整理
推荐两个库地址,开源中国的好像不好使了 阿里的仓库:http://maven.aliyun.com/nexus/content/groups/public/ 另一个:http://repo2.mave ...
- maven安装与常用命令
maven安装: 下载地址http://maven.apache.org/download.cgi 1.安装好Java,配置好Java的环境变量(JDK) 2.下载apache-maven-3.5.2 ...
- Maven的一些常用命令
将本项目的源码部署到本地仓库 mvn clean source:jar install 将本地jar包部署到本地仓库,首先将jar包放在当前目录下,然后执行,这样做比直接把jar包copy到本地仓库更 ...
- [MAVEN]二、常用命令
mvn eclipse:eclipse :生成 Eclipse 项目文件,生成后可以导入到eclipse中使用 mvn install :在本地 Repository 中安装 jar ,若是Web项目 ...
- 【入门】Gradle的基本使用、在IDEA中的配置、常用命令
一.介绍 java的源码构建工具,大致经历了 ant -> maven -> gradle 这个过程,每一次进步,都是在解决之前的工具所带来的问题,简单来说: 1. ant 功能虽然也很强 ...
随机推荐
- 网鼎杯题目“phone”--十六进制mysql注入
注册后,即可点击查看谁的电话和我类似. 注册时有三个必填项,分别是用户名.密码和电话.电话要求必须数字. 注册个1111的电话后,点击查看,返回有1个人电话和我类似,在注册一个为1111的,返回有2人 ...
- lind 语 api 数据的安全性 第四弹
web api的安全性怎么保证呢. 一般公司会自己封装一套请求的规范. 下面来看看lind语里的webapi安全规范 step one 先看下 diagram: 学而思: 从上面的图分析一下: 如果我 ...
- Mysql梳理-关于索引/引擎与锁
前言 最近突发新型肺炎,本来只有七天的春节假期也因为各种封锁延长到了正月十五,在家实在闲的蛋疼便重新研究了一下Mysql数据库的相关知识,特此总结梳理一下.本文主要围绕以下几点进行: 1.Mysql的 ...
- Python的小括号( )、中括号[ ]和大括号{}分别代表什么?
python语言最常见的括号有三种,分别是:小括号( ).中括号[ ]和大括号也叫做花括号{ },分别用来代表不同的python基本内置数据类型. 1.python中的小括号( ):代表tuple元组 ...
- 看看AQS阻塞队列和条件队列
上一篇简单介绍了AQS,我们大概知道AQS就是一个框架,把很多功能都给实现了(比如入队规则,唤醒节点中的线程等),我们如果要使用的话只需要实现其中的一些方法(比如tryAcquire等)就行了!这次主 ...
- CSS-10-内边距
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 剑指offer--二维数组中查找
剑指offer--二维数组中查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组 ...
- cesium纽约3dtiles数据下载
cesium示例有纽约的3dtiles数据,下载官方有下载链接,但是下载后为乱码. 因此研究了下,写了个爬虫解码下载,使用办法,安装Python直接运行即可,代码如下: #coding=utf-8 f ...
- 小程序redio 样式
小程序 radio 不写样式大概是这样的 数据为测试数据. 为了增加用户体验我们一下 美化后大概是这样的 给他设定头部.左边间距 ,和自身最小宽度 上代码: wxml: <radio-group ...
- LeetCode 677. Map Sum Pairs 键值映射(C++/Java)
题目: Implement a MapSum class with insert, and sum methods. For the method insert, you'll be given a ...