Maven(二)名词、命令、仓库、依赖、私服
这篇文章将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(二)名词、命令、仓库、依赖、私服的更多相关文章
- Java开发学习(三十四)----Maven私服(二)本地仓库访问私服配置与私服资源上传下载
一.本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服,中间是要经过本地Maven的 本地Maven需要知道私服的访问地址以及私服访问的用户名和密码 私服中的仓库很多,Maven最终要把资源 ...
- Maven学习(二) -- 坐标和依赖
标签(空格分隔): 学习笔记 坐标 实际就像在几何中,我们用一对坐标(x, y)来表示坐标系中唯一的点:或者我们可以用(经度,纬度)来表示地球上的某一个位置,在Maven的世界中,有坐标来唯一的表示项 ...
- IDEA maven 项目如何上传到私服仓库
前言:idea maven 发布版本到私服(快照和正式版).我有个项目( jar 包源码),其他 maven 项目能直接引入依赖就最好了,所以必须将这个 jar 包源码发布到 maven 私服仓库里去 ...
- maven 远程仓库、私服及镜像配置
maven仓库分类 本地仓库.远程仓库.远程仓库又有私服.中央仓库.其它公共库.中央仓库是maven自带的核心仓库. 仓库配置远程仓库可以配置多个,超级pom中定义的中央仓库 <reposito ...
- maven学习(九)——maven中的坐标、依赖以及仓库
一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Maven坐标主要组成 groupId:组织标识(包名) artifactId:项目名称 ver ...
- maven入门-- part5 本地仓库,远程仓库,私服
解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org ...
- Maven是什么? Maven的概念+作用+仓库的介绍+常用命令
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型.一组标准集合,一个依赖管理系统.和用来运行定义在生命周期阶段中插件目标和逻辑. 核心功能 Maven的核心 ...
- Maven入门系列(二)--设置中央仓库的方法
原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...
- (一)maven之——maven基础及本地仓库的配置
一.初步了解maven Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(POM)的概念,提供了帮助管理构建.文档.报告.依赖.发布等方法,Maven简化和标准化项目建设过程.处 ...
- Maven详解之仓库------本地仓库、远程仓库
在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的 ...
随机推荐
- Jmeter分布式部署
当单机没有足够能力来模拟较重的负载,可以使用jmeter分布式测试功能, 通过一个Jmeter控制台来远程控制多个Jmeter引擎完成测试. 每个线程均独立运行测试计划.因此,线程组常用来模拟并发用户 ...
- yum 安装 python-pip 失败解决方法
这个包在EPEL源里,要添加EPEL源才可以.然后按博客里说的方法添加,执行以下命令: sudo rpm -ivh epel-release* 第一种方式:由于epel在禁用列表里需要另外加参数yum ...
- 【原】Java学习笔记033 - IO
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:继承关系中爷 ...
- Python基础之字典
字典初识 字典的认识 首先,我们来认识一下字典: # 定义一个字典 user_dict = {"name": "zhangsan", "age&quo ...
- Storm入门(五)Twitter Storm如何保证消息不丢失
转自:http://xumingming.sinaapp.com/127/twitter-storm如何保证消息不丢失/ storm保证从spout发出的每个tuple都会被完全处理.这篇文章介绍st ...
- 从零开始制作 Hexo 主题
原文地址:从零开始制作 Hexo 主题 · Ahonn 写在前面 本文将会从零开始开发一个简单的博客主题.样式主要参考 Hexo theme 中的 Noise 主题. 开始之前你需要了解: 模板引擎 ...
- PyCharm选中文件夹新建时Directory与Python package的区别
pycharm创建普通的directory和package时都是在硬盘上建立一个文件夹.但是建package时会在这个文件夹中自动地生成一个空的__init__.py文件.python的一个包是一个带 ...
- Windows API方式直接调用C#的DLL,支持多音字转拼音、Gzip解压缩、公式计算(VBA、C++、VB、Delphi甚至java都可以)
原始链接 https://www.cnblogs.com/Charltsing/p/DllExport.html 这两年,我在VBA应用方面一直有几大痛点:1.多音字转拼音:2.64位下的GZIP解压 ...
- Day9 轨道角动量
转自中山大学电子与信息工程 http://seit.sysu.edu.cn/node/1004 能量.动量(角动量和线动量)光子的基本属性,其中光子角动量包括自旋角动量和轨道角动量(Orbital a ...
- Linux(Ubuntu)使用日记------markdown文档转化为word文档
Linux(Ubuntu)使用日记------markdown文档转化为word文档