博客
关于我
Maven
阅读量:719 次
发布时间:2019-03-21

本文共 1284 字,大约阅读时间需要 4 分钟。

仓库

Maven仓库基于简单文件系统,用于集中式管理Java开发工具包(API组件)。每个项目都有独特的坐标,可以通过这些坐标查找相应的API组件。在查找时,Maven首先会在本地仓库搜索,如果找不到则会访问远程仓库获取组件。

远程仓库

远程仓库由官方提供或公司内部提供的私服构成,主要用于获取依赖项。

本地仓库

本地仓库位于本地文件系统,用于存储从远程仓库克隆下来的组件及临时构建文件。

项目类型

POM工程

POM(Project Object Model)是逻辑工程,通常用于父工程或聚合工程中,主要用于版本控制,应避免在其中写代码。

JAR工程

JAR(Java Archive)将源代码打包成标准的可执行JAR文件。

WAR工程

WAR(Web Application Archive)将源代码打包成用于部署的Web应用文件。

项目结构

项目结构通常如下:

ProjectName/├── src/             源码目录│   ├── main/       主程序源码│   │   ├── java/    Java源码│   │   └── resources/ 配置文件│   └── test/        测试源码├── pom.xml          Maven工程核心配置文件└── target/         编译目录

项目关系

Maven将每个项目视为对象,项目间通过依赖关系连接。

依赖

依赖传递

当一个项目依赖于另一个项目时,该依赖的依赖也会被当前项目继承。

最短路径优先

在处理依赖冲突时,Maven会选择路径最短的依赖使用。

声明顺序优先

如果有多个符合条件的依赖,顺序声明的依赖优先被选择。

依赖排除

用于阻止不必要的传递依赖。

依赖范围

  • compile:默认范围,依赖在编译和运行时起作用。
  • provided:依赖只在编译和测试时起作用。
  • runtime:依赖只在运行时起作用。
  • system:使用本地依赖而不是仓库中的。
  • test:依赖只在测试时起作用。
  • import:子项目依赖必须使用当前项目指定的版本。

聚合

Maven支持多个项目通过POM聚合,生成一个包含所有项目的单个JAR/WAR文件。

POM文件

POM文件通常如下结构:

4.0.0
cn.superstallion
MM
1.0-SNAPSHOT
8
8

Maven命令

命令 说明
clean 清除之前编译的文件,准备新编译。
compile 将源文件编译成字节码。
test 执行测试,调用Junit等测试框架。
package 将构建文件打包为JAR或WAR文件。
install 将构建文件安装到本地仓库。
deploy 将构建文件部署到私服。

转载地址:http://iogrz.baihongyu.com/

你可能感兴趣的文章
OpenCV学堂 | OpenCV案例 | 基于轮廓分析对象提取
查看>>
OpenCV学堂 | YOLOv8与YOLO11自定义数据集迁移学习效果对比
查看>>
OpenCV学堂 | YOLOv8官方团队宣布YOLOv11 发布了
查看>>
OpenCV学堂 | YOLOv8实战 | 荧光显微镜细胞图像检测
查看>>
OpenCV学堂 | 汇总 | 深度学习图像去模糊技术与模型
查看>>
OpenCV安装
查看>>
OpenCV官方文档 理解k - means聚类
查看>>
opencv实现多路播放
查看>>
opencv常用函数
查看>>
OpenCV探索
查看>>
OpenCV添加中文(五)
查看>>
opencv源码查看
查看>>
OpenCV点目标检测未找到所有目标,并且找到的圆圈偏移
查看>>
opencv特征提取1-Harris角点检测
查看>>
OpenCV环境搭建(一)
查看>>
OpenCV的视频读取
查看>>
openCV目标识别 目标跟踪 YOLO5深度学习 Python 计算机视觉 计算机毕业设计 源码下载
查看>>
opencv笔记(1):图像缩放
查看>>
opencv笔记(二十四)——得到轮廓之后找到凸包convex hull
查看>>
OpenCV计算点到直线的距离 数学法
查看>>