Maven
构建项目的工具
一,非maven项目:
1)第三方jar,需要自己下载,把jar拷贝到项目中
2)自己的项目需要打包,需要使用idea进行打包,其他项目需要使用,把jar拷贝到其他项目,如果jar对应项目更新,需要手动进行更新(重新打包),把其他项目之前jar删除,重新把新的jar拷贝到其他项目
3)jar之前的依赖关系,需要自己了解
4)对项目的整个构建(从项目开始(创建项目),编译,测试,运行 到项目结束(打包)),每一个步骤都要
手动操作
5)项目结构没有统一的标准,多人,多团队开发,在项目合并会发生冲突
二,maven项目:(apache 提供)
1)通过maven管理jar,如果本地仓库没有依赖的jar,自动到远程仓库/中央仓库下载
2)Maven提供指令,所有操作直接一个指令完成jar更新,一个指令安装本地仓库,
发布远程仓库,其他项目的jar自动更新
3)Maven自动下载jar依赖的jar
4)统一项目结构
三,Maven安装
参考链接如下:https://blog.csdn.net/a805814077/article/details/100545928
下载:省略
1)解压就可以使用,maven
2)在系统环境变量,配置,aven
tips: 官网为外网,下载速度较慢,这里提供3.6.3版本的三方链接下载Maven下载
- 无视下载速度以及需要其他版本的伙伴点此进入Maven官网下载
- 选择左侧Download
- 点击箭头所指的链接进行下载
4.下载完成后,选择一个路径进行解压
5.然后配置path环境变量,如图
系统变量:MAVEN_HOME = F:\dev\apache-maven-3.6.1
系统变量:path = %MAVEN_HOME%\bin
MAVEN_HOME:
path:
6.然后win+R 运行cmd 输入 mvn -version,如图所示则配置成功
四、配置settings文件
1.在D:\java46\Tools\maven\apache-maven-3.6.3\conf下可以找到settings文件,打开(嫌麻烦的直接看最后一步)
2.找到第52行,这里是maven默认的仓库
3.我们复制第53行
<localRepository>/path/to/local/repo</localRepository>
将它拿到注释外并将中间的内容改成你需要的路径,如图
<localRepository>F:/repository</localRepository>
这里的路径随便设置,注意这里是正斜杠
4.因为国外的服务器下载jar包很慢所以我们改为阿里云服务器(大约在150行左右),这两个仓库只用选一个(根据大家反馈建议使用第一个,第二个在有的版本可能会出现warning)
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
或者
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
5.如图,要夹在两个mirrors标签之间
6.在最后配置jdk,也要夹在两个profiles标签之间(我这里使用的为jdk8)
<!-- java版本 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
7.配置完成,在命令行输入mvn help:system测试,看到下载链接里面是ailiyun的链接表示配置成功
8.嫌麻烦的直接复制配置文件的内容即可,不过路径还是要改(参考第3步)
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the