这篇文章将Maven其他内容做一个介绍。

一、名词

  ①:localRepository 本地仓库路径,位于maven/conf/settings.xml中。

  ②:project  项目。

  ③:pom  pom.xml是maven的核心文件。在项目的根目录下,它是指示maven是如何工作的元数据文件。

  ④:groupId 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。

  ⑤:arctifactId  是项目的唯一标识符,实际对应项目的名称,就是项目根目录的名称。

  ⑥:dependency  依赖,引用。

  ⑦:plug-in  插件,maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似与Ant中的target),并根据在pom中找到的元素去完成工作。主要的maven插件是由java写成的,但是它支持用beanshell或Ant脚本写成的插件。

  ⑧:repository  仓库(一般在pom.xml中用于构建私服,镜像)。

二、命令

  ① :mvn compile  编译

    cmd进入pom.xml文件目录再输入 mvn compile 对项目进行编译

  ②:mvn  package 打包

    cmd进入项目目录,输入mvn package 对项目进行打包

  ③:mvn clean package 清除前面的打包文件再重新打包

    cmd进入项目目录,输入mavn clean package对项目打包文件进行清理并重新打包

  ④:mvn test 测试

    cmd进入项目目录,输入 mvn test 测试,实际执行流程是先编译再运行

  ⑤:mvn clean 清理

    清理原来的编译结果

  ⑥:mvn clean package -Dmaven.test.skip=true

    清理并打包,跳过测试环节,因为实际开发中测试会有错误,因而打包失败

  ⑦:mvn insstall

    发布该项目到本地仓库,在其他项目中pom.xml中引用即可

  ⑧:mvn deploy

    发布项目到服务器

  ⑨:mvn eclipse:eclipse  项目转换成Eclipse格式

    mvn eclipse:clean 清除eclipse格式

  ⑩:mvn idea:idea  项目转换成IDEA格式

    mvn idea:clean 清除idea格式

    

三、仓库

  maven仓库分为 :本地仓库、远程仓库(私服)、中央仓库

  maven内置了一个公共远程仓库:http://repo1.maven.org/maven2/

  用户编写的pom.xml继承了一个超级的pom.xml,有效的pom=超级的pom+自己的pom

四、依赖

  传递性依赖:在导入项目A,如果项目A依赖与B项目,则B项目自动导入

  当存在多层依赖关系时,遵循以下原则:

  ①:路径近者优先原则

    A——B——C

    A——D——B——C

  ②:第一声明优先原则

    A——B1.0

    A——B1.1

  在实际场景中,会存在jar包版本冲突的问题

  解决方案:

  ①:统一版本号

  ②:把冲突的版本jar包提取出来单独引用

  ③:dependency中的exclusion排除某个jar包,一般在开发工具中选择

  如果不是传递性依赖,后引入的jar包会覆盖前面引入的jar包

  

  

五、私服

Maven(二)名词、命令、仓库、依赖、私服的更多相关文章

  1. Java开发学习(三十四)----Maven私服(二)本地仓库访问私服配置与私服资源上传下载

    一.本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服,中间是要经过本地Maven的 本地Maven需要知道私服的访问地址以及私服访问的用户名和密码 私服中的仓库很多,Maven最终要把资源 ...

  2. Maven学习(二) -- 坐标和依赖

    标签(空格分隔): 学习笔记 坐标 实际就像在几何中,我们用一对坐标(x, y)来表示坐标系中唯一的点:或者我们可以用(经度,纬度)来表示地球上的某一个位置,在Maven的世界中,有坐标来唯一的表示项 ...

  3. IDEA maven 项目如何上传到私服仓库

    前言:idea maven 发布版本到私服(快照和正式版).我有个项目( jar 包源码),其他 maven 项目能直接引入依赖就最好了,所以必须将这个 jar 包源码发布到 maven 私服仓库里去 ...

  4. maven 远程仓库、私服及镜像配置

    maven仓库分类 本地仓库.远程仓库.远程仓库又有私服.中央仓库.其它公共库.中央仓库是maven自带的核心仓库. 仓库配置远程仓库可以配置多个,超级pom中定义的中央仓库 <reposito ...

  5. maven学习(九)——maven中的坐标、依赖以及仓库

    一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Maven坐标主要组成 groupId:组织标识(包名) artifactId:项目名称 ver ...

  6. maven入门-- part5 本地仓库,远程仓库,私服

    解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org ...

  7. Maven是什么? Maven的概念+作用+仓库的介绍+常用命令

    Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型.一组标准集合,一个依赖管理系统.和用来运行定义在生命周期阶段中插件目标和逻辑. 核心功能 Maven的核心 ...

  8. Maven入门系列(二)--设置中央仓库的方法

    原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...

  9. (一)maven之——maven基础及本地仓库的配置

    一.初步了解maven Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(POM)的概念,提供了帮助管理构建.文档.报告.依赖.发布等方法,Maven简化和标准化项目建设过程.处 ...

  10. Maven详解之仓库------本地仓库、远程仓库

    在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的 ...

随机推荐

  1. SpringBoot 集成Apache Kafak 消息队列

    Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在实现上完全不同,此外它并不是JMS规范 ...

  2. 最新git源码下载地址

    1.最新git源码下载地址: https://github.com/git/git/releases https://www.kernel.org/pub/software/scm/git/ 可以手动 ...

  3. C# 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。

    报错信息: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1045 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标.请将 .NET Core 2.1 或 ...

  4. 关于executemany()方法在不同OS和DB API下的不同表现的测试

    昨天在参照着网上写一段关于MySQL连接池的配合gevent多线程调用的代码时遇到了一个问题,自己写的代码根本不能多线程执行,比单会话插入数据慢太多,直到今天早上才发现问题所在,把DB API从MyS ...

  5. SQL大全基本语法

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  6. redux 简介

    概述 Redux 本身是个极其简单的状态管理框架, 它的简单体现在概念少, 流程明确. 但是, 正是因为简单, 使用上没有强制的约束, 所以如果用不好, 反而会让状态管理更加混乱. 我觉得, 用好 R ...

  7. python上下文管理

    一.python上下文介绍: python中的上下文,指的就是代码所执行的环境状态,或者运行的场景 python上下文管理器规定了某个对象的使用范围,当进入或者离开了使用范围,会有相应的操作,多用于资 ...

  8. 10 Django RESTful api 实现匿名访问

    # views_send_code.py from rest_framework.permissions import AllowAny class MsgCodeViewSet(CreateMode ...

  9. Mybatis中接口和对应的mapper文件命名为什么需要一样?

    背景: 自己对于Mybatis现阶段只处于会用的阶段,有些问题,自己还是想深入的了解一下.就拿Mybatis的接口文件和mapper文件命名需要一致来开始. 解决: 当我们将接口和mapper文件放在 ...

  10. 探索PowerShell 【十三】WMI对象

    原文:探索PowerShell ][十三]WMI对象 我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看.编辑WMI对象的,只是现在好 ...