- 安装
- IDEA配置Maven
Maven
Maven介绍
1 | # 目前无论使用IDEA还是Eclipse等其他IDE,使用里面ANT工具。 |
本地仓库
本地仓库指本机的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件。
远程仓库
1 | # 不在本机中的一切仓库,都是远程仓库:分为中央仓库和本地私服仓库 |
安装
win10安装Maven
目录结构:
- bin目录 ==》存放的是执行文件 ==》命令
- conf目录:settings.xml ==》maven的核心配置文件/全局配置文件
注:如果没有.m2目录 ,自己手动执行mvn命令 mvn help:system
Linux安装
下载、解压、移动
1 | wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz |
配置文件底部添加
/etc/profile
1 | MAVEN_HOME=/local/server/maven |
IDEA中配置Maven
在IDEA中集成Maven:
IDEA中默认Maven
IDEA自定义Maven
配置settings.xml
在settings.xml中,分别配置三个信息:
- 本地仓库
- 镜像仓库
- JDK
本地仓库配置
1 | <!-- |
镜像仓库配置
1 | <!-- |
JDK配置
1 | <!-- |
仓库优先级问题
IDEA中创建Maven工程
Maven工程类型
- POM工程:POM工程是逻辑工程,用在父级工程或聚合工程中,用来做jar包的版本控制。
- JAR工程:将会打包成jar,用作jar包使用。即常见的本地工程 —> Java Project。
- WAR工程:将会打包成war,发布在服务器上的工程。
创建Maven工程
Maven项目结构
标准目录结构:
❀src/main/java
这个目录下储存java源代码
❀src/main/resources
储存主要的资源文件。比如xml配置文件和properties文件
❀src/test/java
储存测试用的类,比如JUNIT的测试一般就放在这个目录下面
因为测试类本身实际是不属于项目的,所以放在任何一个包下都显得很尴尬,所以maven专门创建了一个测试包,用于存放测试的类
❀src/test/resources
可以自己创建你储存测试环境用的资源文件
❀src
包含了项目所有的源代码和资源文件,以及其他项目相关的文件。
❀target
编译后内容放置的文件夹
❀pom.xml
是Maven的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等等
结构图:
1 | --MavenDemo 项目名 |
POM模式—Maven工程关系
Maven工具基于POM(Project Object Model,项目对象模型)模式实现的。在Maven中每个项目都相当于是一个对象,对象(项目)和对象(项目)之间是有关系的。关系包含了:依赖、继承、聚合,实现Maven项目可以更加方便的实现导jar包、拆分项目等效果。
依赖
1 | 了解 |
继承
1 | 了解 |
聚合
1 | 了解 |
常见插件
编译器插件
pom.xml
配置片段
1 | <!-- 配置maven的编译插件 --> |
资源拷贝插件
Maven在打包时默认只将src/main/resources里的配置文件拷贝到项目中并做打包处理,而非resource目录下的配置文件在打包时不会添加到项目中。
我们的配置文件,一般都放在:src/main/resources
然后打包后配置文件就会在target的classes下面放着:
测试:
1 |
Tomcat插件
1 |
Maven常见命令
Maven的命令非常多,常用的几个:(所有命令都可以在IDEA控制台运行)
❀ install
==》本地安装, 包含编译,打包,安装到本地仓库
- 编译 - javac
- 打包 - jar, 将java代码打包为jar文件
- 安装到本地仓库 - 将打包的jar文件,保存到本地仓库目录中。
❀ clean
==》清除已编译信息,删除工程中的target目录。
❀ compile
==》只编译, javac命令。
❀ package
==》打包,包含编译,打包两个功能。
install和package的区别:
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库