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 功能虽然也很强 ...
随机推荐
- GP工作室—团队项目总结
GP工作室-团队项目总结 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ 这个作业要求在哪里 ...
- RestTemplate---Spring提供的轻量Http Rest 风格API调用工具
前言 今天在学习Spring Cloud的过程中无意发现了 RestTemplate 这个Spring 提供的Http Rest风格接口之间调用的模板工具类,感觉比Apache提供的HttpClien ...
- CentOS 6.6 下源码编译安装MySQL 5.7.5
版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...
- 图像GIST特征和LMGIST包的python实现(有github)
1什么是Gist特征 (1) 一种宏观意义的场景特征描述 (2) 只识别"大街上有一些行人"这个场景,无需知道图像中在那些位置有多少人,或者有其他什么对 ...
- 对result文件进行数据清洗以及进行可视化
项目源码地址:https://github.com/gayu121/result(项目里操作的数据都是清洗过后的数据) 测试要求: 1. 数据清洗:按照进行数据清洗,并将清洗后的数据导入hive数据库 ...
- ROS之服务
服务(service)是另一种在节点之间传递数据的方法,服务其实就是同步的跨进程函数调用,它能够让一个节点调用运行在另一个节点中的函数. 我们就像之前消息类型一样定义这个函数的输入/输出.服务端(提供 ...
- session的属性设置
2. session的属性设置 先看案例: 登陆页面: <%@page contentType="text/html;charset=gb2312"%> & ...
- 使用小书匠及markdown here编辑博客和微信公众号
1. 使用小书匠连接Evernote并发布笔记到博客园 1.1 小书匠初探 我平时的信息收集的主要方法是采用Pocket+Evernote. 简单来说: 如果访问到非常有用,而且是必须要立刻记录的内容 ...
- Actix-web Rust连接Postgres数据库
Actix-web Rust连接Postgres数据库 Rust1.39支持了异步async,await,Actix-web在2.0.0-alpha支持了原生异步写法,所以本文中使用的Actix- ...
- LeetCode 681. Next Closest Time 最近时刻 / LintCode 862. 下一个最近的时间 (C++/Java)
题目: 给定一个"HH:MM"格式的时间,重复使用这些数字,返回下一个最近的时间.每个数字可以被重复使用任意次. 保证输入的时间都是有效的.例如,"01:34" ...