这是我参与「第四届青训营 」笔记创作活动的第2天
1. Maven介绍
软件开发流程
maven本意
Maven作用
- 项目自动化构建
- 管理依赖
2. Maven安装
下载网址
Maven下载网址 下载压缩包并解压。
环境配置
把jdk和maven的安装路径下的bin添加到path中
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
%MAVEN_HOME%\bin
测试
mvn -v
3. Maven基础
约定目录结构
- HelloMaven (项目文件夹)
- src
- main (主程序目录)
- java (源代码)
- resources (配置文件)
- test (测试程序目录)
- java (测试代码)
- resources (测试代码需要的配置文件)
- main (主程序目录)
- pom.xml (核心文件夹)
- src
单独使用Maven要按这种格式手动创建项目
项目对象模型
POM: Project Object Model
maven通过pom.xml实现项目构建和依赖管理
坐标
坐标是确定资源的唯一标识。
<groupId>org.apache</groupId> <!--组织名称-->
<artifactId>flink</artifactId> <!--项目名称-->
<version>1.13</version> <!--项目版本号-->
- 自己创建的项目需要有自己的gav
- gav也可以用来使用其他的jar
依赖
Maven Repository, 需要什么依赖就查什么,例如我需要flink-streaming-java,搜索框搜索flink-streaming-java,选择版本号,然后复制依赖
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java</artifactId>
<version>1.15.1</version>
<scope>provided</scope>
</dependency>
dependencies 标签可以包含多个 denpendency
仓库
- 本地仓库默认路径
C:\Users\名字\.m2\repository,在./conf/settings.xml中修改路径
<localRepository>D:/apache-maven-3.6.3/repository</localRepository>
- 远程仓库,上面那个网址就是中央仓库(远程仓库的一种)。
命令
$ mvn compile
$ mvn test-compile
$ mvn junit
$ mvn clean
$ mvn test
$ mvn install
$ mvn package
自定义配置命令背后的插件
<!-- 设置构建项目相关的内容 -->
<build>
<plugins>
<!-- 设置插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!-- 指定编译代码的jdk版本 -->
<target>1.8</target> <!-- 运行java程序使用的jdk版本-->
</configuration>
</plugin>
</plugins>
</build>
4. Maven 与 IDEA
设置
File -> settings -> Build, Execution, Deployment -> Build Tools -> Maven
File -> settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner
File -> New Projects Setup -> Sets for New Projects 再设置一遍
创建基于maven的普通java项目
File -> Project Structure -> Modules -> + -> New Module