很多时候使用Java编码时,都要用到第三方库,相关库的依赖管理我们就交给maven。今天学习下maven的基本安装。
1.下载安装
首先下载: 官方地址:maven.apache.org/download.cg…
比如我在 windows 环境下开发,我就直接选择 zip 的二进制包,下载后解压后自己的相关目录。
2.设置环境变量
设置环境变量: 主要就是设置MAVEN_HOME,另外在PATH中加入mvn命令所在的bin目录。
设置完后就可以在命令行中看看是否生效:
# mvn --version
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: D:\software\apache\apache-maven-3.9.5
Java version: 21, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-21
Default locale: zh_CN, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
3.改配置
完成以上步骤,说明你的 maven 环境已经安装成功,接下来就可以在 Java 中结合第三方库编码了。
另外需要再配置下镜像仓库,毕竟有些三方库的下载很慢。
找到 maven 的解压目录,在目录下的 conf/ 下打开settings.xml 编辑:
主要修改点有2个:
- 1.添加本地仓库
- 2.添加常用镜像
添加本地仓库
// 在line55左右修改localRepository
<!--
| 以下是添加的本地仓库, 同时在maven的安装目录中新建repo目录
-->
<localRepository>${MAVEN_HOME}/repo</localRepository>
添加常用镜像,这里用的阿里云
// <mirrors>...</mirrors>中添加
<!-- aliyun mirror
-->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
由于我们添加了本地 repo, 需要在 maven 的安装目录中新建个 repo 目录,如图:
4.IDEA设置
在设置完这些后,我们就可以在 IDEA 中设置 maven 的环境配置了(以下是我的环境示意,其他环境类似):
不同的安装请根据自己的环境设置,此处仅以本人的配置为例。
下图为 maven 项目的约定目录:
- project // 项目根目录
- src
- main
- java // 项目源码
- resources // 源码配置类等
- webapp // 应用
- test
- java // 测试类
- resources // 测试用的资源
- pom.xml
比如现在通过 IDEA 创建个 maven 项目:
按照模板生成的项目如图中所示:
5.mvn命令
//常用maven命令
mvn -v //查看版本
mvn archetype:create //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true //忽略测试文档编译
mvn clean //清除目标目录中的生成结果
mvn clean compile //将.java类编译为.class文件
mvn clean package //进行打包
mvn clean test //执行单元测试
mvn clean deploy //部署到版本仓库
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate //创建项目架构
mvn dependency:list //查看已解析依赖
mvn dependency:tree //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //从中央仓库下载文件至本地仓库
mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective -pom //查看完整的pom信息