博客
关于我
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/

你可能感兴趣的文章
npm start运行了什么
查看>>
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
查看>>
npm 下载依赖慢的解决方案(亲测有效)
查看>>
npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
查看>>
npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
查看>>
npm—小记
查看>>
npm介绍以及常用命令
查看>>
NPM使用前设置和升级
查看>>
npm入门,这篇就够了
查看>>
npm切换到淘宝源
查看>>
npm切换源淘宝源的两种方法
查看>>
npm前端包管理工具简介---npm工作笔记001
查看>>
npm包管理深度探索:从基础到进阶全面教程!
查看>>
npm升级以及使用淘宝npm镜像
查看>>
npm发布包--所遇到的问题
查看>>
npm发布自己的组件UI包(详细步骤,图文并茂)
查看>>
npm和package.json那些不为常人所知的小秘密
查看>>
npm和yarn清理缓存命令
查看>>
npm和yarn的使用对比
查看>>
npm如何清空缓存并重新打包?
查看>>