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,发布版本。


有时候会发生jar包冲突:

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

可使用<scope>给我们自己引入的jsp-api.jar设置作用域,只在编辑代码时有效(引用)。

scope可选的值:

一般使用默认值compile即可(一直有效)。


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

原文地址:https://www.cnblogs.com/chy18883701161/p/12262595.html

时间: 2024-10-11 22:28:34

Maven 仓库、坐标、常用命令的相关文章

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

常用命令 tomcat7:deploy 说明:部署 WAR 到 Tomcat tomcat7:help 说明:查看插件帮助信息 tomcat7:run 说明:支行当前项目 配置 <project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId&g

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

推荐两个库地址,开源中国的好像不好使了 阿里的仓库:http://maven.aliyun.com/nexus/content/groups/public/ 另一个:http://repo2.maven.org/maven2/ 2.打包 maven-compile-plugin <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</

大数据技术之_18_大数据离线平台_04_数据分析 + Hive 之 hourly 分析 + 常用 Maven 仓库地址

二十.数据分析20.1.统计表20.2.目标20.3.代码实现20.3.1.Mapper20.3.2.Reducer20.3.3.Runner20.3.4.测试二十一.Hive 之 hourly 分析21.1.目标21.2.目标解析21.3.创建 Mysql 结果表21.4.Hive 分析21.4.1.创建 Hive 外部表,关联 HBase 数据表21.4.2.创建临时表用于存放 pageview 和 launch 事件的数据(即存放过滤数据)21.4.3.提取 e_pv 和 e_l 事件数据

git 操作常用命令

git仓库配置常用命令 ####首先下载代码 + git下载代码命令: git clone [git地址] [下载位置] ####分支命令 1. 查看分支 git branch 2. 查看远程分支 git branch -r 3. 查看所有分支(本地和远程) git branch -a 4. 创建分支 git branch [分支名称] 5. 切换分支 git checkout [分支名称] #####远程仓库操作 1.查看远程仓库地址 git remote -v 2.切换远程仓库地址 git

Maven学习笔记(三)——Maven仓库(Repositories)、基础命令(二)&amp;自动构建项目

前言 上篇blog介绍了maven最基础的一些核心概念,包括maven项目约定的目录结构.maven核心配置文件--pom.xml文件的解析以及3个基本的maven命令(compile.test.package),本篇blog将继续介绍剩余的maven命令,还会涉及到maven最重要的概念之一--Maven仓库,最后会学习如何通过maven自动构建java项目/javaweb项目以及自动构建可供选择的项目骨架. Maven仓库(Repositories) 本来打算继续学习剩余的maven命令,但

转:maven常用命令介绍

mvn 3.0.4 创建maven项目命令 mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles-autocredit  -DarchetypeArtifactId=maven-archetype-quickstart     -DinteractiveMode=false  -X 1 下载源代码:mvn dependency:sources -DdownloadSources=true -Dd

Maven的目录结构和常用命令

一.Maven项目的目录结构  1.顶级目录结构   src:该目录主要存放的是项目的源代码文件. target:该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件. pom.xml:该文件是Maven项目的核心配置文件,配置jar包的坐标信息. 2.src目录结构 mian:该目录下存放的是该项目的主要代码文件,下面有三个文件夹,分别用来存放: Java:该目录用来存放Java的源代码文件 resources:该目录主要用来存放项目的一些配置文件(比如spring的xml配

Maven常用命令及在Eclipse中的应用

1.常用命令 mvn archetype:generate--构建项目 mvn clean--项目清理 mvn test--项目单元测试的编译 mvn compile--项目源代码的编译 mvn package--项目打包 mvn install--发布项目提交到本地仓库 mvn deploy--发布项目到 mvn jetty:run--启动jetty容器 mvn eclipse:clean--清除eclipse的一些系统设置 mvn eclipse:eclipse--生成eclipse项目文件

Java-Maven(三):Maven相关的概念:Maven坐标、Maven仓库、Maven声明周期

之前通过学习对maven命令有了部分了解,但是只是知道maven是用来做什么.但到目前位置还不足以全面的了解maven,为更全面的了解maven,需要学习以下几个概念:Maven坐标.Maven仓库.Maven生命周期. Maven坐标 maven坐标概念:每个构件都有自己的一个标识(唯一的),它由groupId,artifactId,version等信息组成,因此maven就可以对构件进行版本控制.管理. 备注: groupId :公司名称或者组织名称: artifactId:项目名称: ve