本文共 1284 字,大约阅读时间需要 4 分钟。
Maven仓库基于简单文件系统,用于集中式管理Java开发工具包(API组件)。每个项目都有独特的坐标,可以通过这些坐标查找相应的API组件。在查找时,Maven首先会在本地仓库搜索,如果找不到则会访问远程仓库获取组件。
远程仓库由官方提供或公司内部提供的私服构成,主要用于获取依赖项。
本地仓库位于本地文件系统,用于存储从远程仓库克隆下来的组件及临时构建文件。
POM(Project Object Model)是逻辑工程,通常用于父工程或聚合工程中,主要用于版本控制,应避免在其中写代码。
JAR(Java Archive)将源代码打包成标准的可执行JAR文件。
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文件通常如下结构:
4.0.0 cn.superstallion MM 1.0-SNAPSHOT 8 8
命令 | 说明 |
---|---|
clean | 清除之前编译的文件,准备新编译。 |
compile | 将源文件编译成字节码。 |
test | 执行测试,调用Junit等测试框架。 |
package | 将构建文件打包为JAR或WAR文件。 |
install | 将构建文件安装到本地仓库。 |
deploy | 将构建文件部署到私服。 |
转载地址:http://iogrz.baihongyu.com/