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 仓库、坐标、常用命令的更多相关文章

  1. Maven使用笔记(一)Maven安装及常用命令

    1.Windows下安装Maven 首先去下载Maven安装包,http://maven.apache.org/download.cgi,目前最新版本是 Maven 3.2.3 . 解压到本地,可以看 ...

  2. Maven 插件 maven-tomcat7-plugin - 常用命令及配置

    常用命令 tomcat7:deploy 说明:部署 WAR 到 Tomcat tomcat7:help 说明:查看插件帮助信息 tomcat7:run 说明:支行当前项目 配置 <project ...

  3. maven学习0 常用命令学习

    mvn clean install -Dmaven.test.skip=truemaven的package与install命令区别: package是把jar打到本项目的target下,而instal ...

  4. Git 建立仓库及常用命令速查表

    Git新建仓库两种模式: 一.项目在本地时,本地初始化仓库并提交至Coding.Net 新建一个空白目录并进入,执行如下流程 1.git init2.项目代码复制到当前目录3.git add *4.g ...

  5. 回顾:maven配置和常用命令整理

    推荐两个库地址,开源中国的好像不好使了 阿里的仓库:http://maven.aliyun.com/nexus/content/groups/public/ 另一个:http://repo2.mave ...

  6. maven安装与常用命令

    maven安装: 下载地址http://maven.apache.org/download.cgi 1.安装好Java,配置好Java的环境变量(JDK) 2.下载apache-maven-3.5.2 ...

  7. Maven的一些常用命令

    将本项目的源码部署到本地仓库 mvn clean source:jar install 将本地jar包部署到本地仓库,首先将jar包放在当前目录下,然后执行,这样做比直接把jar包copy到本地仓库更 ...

  8. [MAVEN]二、常用命令

    mvn eclipse:eclipse :生成 Eclipse 项目文件,生成后可以导入到eclipse中使用 mvn install :在本地 Repository 中安装 jar ,若是Web项目 ...

  9. 【入门】Gradle的基本使用、在IDEA中的配置、常用命令

    一.介绍 java的源码构建工具,大致经历了 ant -> maven -> gradle 这个过程,每一次进步,都是在解决之前的工具所带来的问题,简单来说: 1. ant 功能虽然也很强 ...

随机推荐

  1. 关于Navicat连接oralcle出现Cannot load OCI DLL 87,126,193 ,ORA-28547等错误

    navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 na ...

  2. 批量解决win10图标上有两个蓝色箭头的方法

    双击“此电脑”,点击“C盘”,可以看到一个”用户“文件夹,双击”用户“, 选择现在正在使用的用户名,双击用户名,找到该文件夹下的”桌面“或”Desktop“点击“属性”, 在“常规”选项卡中的属于项中 ...

  3. 团队项目——Alpha发布1

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework 这个作业要求在哪里 https ...

  4. keras冒bug

    使用keras做vgg16的迁移学习实验,在实现的过程中,冒各种奇怪的bug,甚至剪贴复制还是出问题. 解决方案: 当使用组合keras和tensorflow.keras时.由于版本不一致问题导致很多 ...

  5. Git详解之初次运行

    配置文件 一般在新的系统上,我们都需要先配置下自己的 Git 工作环境.配置工作只需一次,以后升级时还会沿用现在的配置.当然,如果需要,你随时可以用相同的命令修改已有的配置. Git 提供了一个叫做 ...

  6. IDEA | 更改idea打开新项目默认配置

    背景 使用过idea的童鞋应该都发现,用idea打开一个新项目,总是需要重新配置一遍,它会使用系统默认配置,例如maven.JDK等设置. 解决方案 IDEA其实有个设置是可以更改新项目的默认配置,大 ...

  7. Spring基于XML配置AOP

    目录结构: D:\Java\IdeaProjects\JavaProj\SpringHelloWorld\src\cn\edu\bjut\service\StudentService.java pac ...

  8. JSP&Servlet学习笔记----第1/2章

    HTML(HyperText Markup Language):超文本标记语言 HTTP(HyperText Transfer Protocol):超文本传输协议 URL(Uniform Resour ...

  9. VC获取cookies的几种方法

    方法一: CInternetSession::GetCookie This member function implements the behavior of the Win32 function  ...

  10. HTML5与HTML4的区别-----通用的排版结构

    一个网页通常分为:头部,主体内容和脚部三个部分,当然也有其他更细的划分方法. 以移动端为例, 当给一个设计图,我通常使用一下结构: <div  class="container&quo ...