在日常的Java项目开发当中,构建一个通用、合理、统一的项目工程框架,一直是很多程序员头疼的事情。
要解决这个问题,我们就不得不提到Maven这个Java工具了。
内容较多,有需要的朋友可以先收藏这篇文章,慢慢读。
一、介绍
Maven
是一个由Apache运营管理的Java工程管理工具,能便捷、高效地管理项目构建、报告、以及文档管理。
- Maven的官网: https://maven.apache.org/
- Maven下载地址:https://maven.apache.org/download.cgi
- Maven资源检索:https://search.maven.org/
在下载页面可以看到下图内容:
Binary tar.gz archive
: 适用linux环境的二进制包;Binary zip archive
: 适用Windows环境的二进制包(一般下载这个版本);Source tar.gz archive
: 适用linux环境的源文件包;Source zip archive
: 适用Windows环境的源文件包;
二、IDEA绑定
JetBrains的IDEA是默认配置了maven的环境工具,一般来说IDEA配置的maven就够用了。
但:
- 如果想自己配置和绑定特定版本的maven,可以继续看下去;
- 如果使用IDEA默认maven的小伙伴,可以直接跳过本节内容
下载完成后,正常解压,存放到合适的目录下即可:
打开IDEA,点击菜单:
Settings
-> Build, Execution, Deployment
-> Build Tools
-> Maven
点击Maven home path
选项最右侧的...
按钮,唤起文件管理器对话框,找到Maven所在的目录(一般目录名默认为apache-maven-3.x.x
,bin
的上一级目录)
目录路径配置完成后,如果此时Maven home path
下方的Version
版本编程你配置的版本号,则绑定成功。你就可以愉快地在IDEA上使用maven了。
三、项目结构
标准的maven项目结构如下:
maven.project
┣━src
┃ ┣━main
┃ ┃ ┣━jave
┃ ┃ ┗━resources
┃ ┗━test
┃ ┗━java
┣━target
┃ ┣━classes
┃ ┗━generated-sources
┗━pom.xml
pom.xml
: pom是project object model的首字母缩写,是maven的项目配置文件,也是maven工具的核心;src/main/java
: java项目的源代码目录;src/main/resources
: java项目的资源文件目录;src/test
: 项目的测试代码包,测试用例存储的位置;target/classes
: 输出的字节码文件目录。
四、常用标签
通过在pom.xml
文件里进行标签设置,即能实现很多项目工程管理的功能。
1. 依赖坐标系
maven会自动完成依赖库下载安装的工作,但前提条件是设置正确 依赖坐标系:
<dependency>
<groupId>机构名</groupId>
<artifactId>项目名</artifactId>
<version>版本号</version>
</dependency>
说明:
- 上述包括
groupId
、artifactId
、version
被成为依赖坐标系,用来定位项目需要的依赖包; - 依赖坐标系可以通过官方提供的检索地址检索:
search.maven.org
; - 上述依赖坐标系需要设置在
<dependencies>
标签内。
2. 自定义仓库源
由于maven默认的apache仓库源在境外服务器上,更新安装速度可能受限,可以通过下述方法,将仓库源设置为国内镜像。
<repository>
<id>仓库编号(自定义、可随意设置)</id>
<name>仓库名(自定义、可随意设置)</name>
<url>仓库地址</url>
</repository>
说明:
- 上述仓库源标签需要设置在
<repositories>
标签内; - 上述
id
、name
均为自定义项目,可随意设置,对配置没有重大影响; - 上述
url
必须是网上真实资源地址或镜像地址; 提供常用的国内镜像:
3. 属性标签
在pom.xml
文件中有很多属性的配置,在<properties>
标签下不仅能设置项目配置,还能设置变量:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mysqlconnectorj.verison>8.0.31</mysqlconnectorj.verison>
</properties>
说明:
- 上例中的
<project.build.sourceEncoding>
是项目属性配置,通过上述语句,可以将项目的字符编码设置为utf-8
,可以避免一些乱码的情况; - 上例中的
<mysqlconnectorj.verison>
是自定义变量配置,自定义变量的格式一般为<变量名>值</变量名>
; - 若要调用上述变量
mysqlconnectorj.version
的值,通过语法${变量名}
即可。如:调用上例中的8.0.31
,语句为${mysqlconnectorj.version}
。
4. 插件配置
maven还有很多实用的扩展插件,配置maven扩展的标签方法如下:
- 设置插件坐标系
<build>
<plugins>
<plugin>
<groupId>机构名</groupId>
<artifactId>项目名</artifactId>
<version>版本号</version>
<configuration>配置信息</configuration>
</plugin>
</plugins>
</build>
- 设置插件库源
<pluginRepositories>
<pluginRepository>
<id>插件编号(自定义、可随意设置)</id>
<name>插件名(自定义、可随意设置)</name>
<url>插件地址</url>
</pluginRepository>
</pluginRepositories>
说明:
- 上述两组标签,都需要设置在
pom.xml
即可 - 插件库源和仓库源的配置一致,
url
也相同
关于Maven的知识点和实例演示就先分享到这里。
感谢你看到这里。如果你对分享的内容有任何疑问,欢迎随时在评论区留言交流。