Maven 仓库、坐标、经常使用命令

 

 

maven中的仓库

 

须要jar包时,先到本地仓库中找,没有就从中央仓库去下载到本地仓库。java

 

中央仓库不少都在国外,下载速度慢。国内的一些公司在本身的服务器上搭建了maven仓库(中央仓库的镜像),供内部人员使用,由于在公司私有的服务器上,因此又叫作私服。web

有的公司把本身的maven分享出来,免费供开发者使用,好比阿里云的maven仓库。api

 

若是使用了私服,须要jar包时,先到本地仓库中去找,找不到再去私服上找,若是私服上没有,就从中央仓库下载到私服,再从私服下载到本地仓库。tomcat

 

 


 

 

 Maven中的坐标

Maven用坐标来惟一标识一个项目、依赖,坐标由三部分组成:服务器

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
</dependency>
  • groupId  公司、组织的名称
  • artifactId   项目名称
  • version  项目版本号。SNAPSHOT,快照,开发中的版本,不稳定;Release,发布版本。

 

 


 

 

 

有时候会发生jar包冲突:jsp

好比写代码时须要jsp-api.jar包,否则request、response没有提示、会显示为红色,但debug、run部署到tomcat上时,tomcat自带了jsp-api.jar,这2个jar包冲突了,项目不知道要引用哪一个jsp-api.jar。maven

可以使用<scope>给咱们本身引入的jsp-api.jar设置做用域,只在编辑代码时有效(引用)。测试

 

scope可选的值:阿里云

 

通常使用默认值compile便可(一直有效)。spa

 

 


 

 

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,可能会出现端口占用、内存泄漏的问题。

相关文章
相关标签/搜索