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

你可能感兴趣的文章
Net操作Excel(终极方法NPOI)
查看>>
Net操作配置文件(Web.config|App.config)通用类
查看>>
net网络查看其参数state_dict,data,named_parameters
查看>>
Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载
查看>>
NeurIPS(神经信息处理系统大会)-ChatGPT4o作答
查看>>
neuroph轻量级神经网络框架
查看>>
Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
查看>>
new Blob()实现不同类型的文件下载功能
查看>>
New Concept English three (35)
查看>>
NEW DATE()之参数传递
查看>>
New Journey--工作五年所思所感小记
查看>>
new Queue(REGISTER_DELAY_QUEUE, true, false, false, params)
查看>>
New Relic——手机应用app开发达人的福利立即就到啦!
查看>>
new work
查看>>
new 一个button 然后dispose,最后这个button是null吗???
查看>>
NewspaceGPT的故事续写能力太强了
查看>>
NewspaceGPT绘制时序图
查看>>
NewspaceGPT绘制类图
查看>>
new一个对象的过程
查看>>
new和delete用法小结
查看>>