Maven学习
Maven 功能

Maven 能够帮助开发者完成以下工作:
构建
文档生成
报告
依赖
SCMs
发布
分发
邮件列表
约定配置 
Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:
目录	目的
${basedir}	存放pom.xml和所有的子目录
${basedir}/src/main/java	项目的java源代码
${basedir}/src/main/resources	项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java	项目的测试类,比如说Junit代码
${basedir}/src/test/resources	测试用的资源
${basedir}/src/main/webapp/WEB-INF	web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target	打包输出目录
${basedir}/target/classes	编译输出目录
${basedir}/target/test-classes	测试编译输出目录
Test.java	Maven只会自动运行符合该命名规则的测试类
~/.m2/repository	Maven默认的本地仓库目录位置
Maven 特点
项目设置遵循统一的规则。
任意工程中共享。
依赖管理包括自动更新。
一个庞大且不断增长的库。
可扩展,能够轻松编写 Java 或脚本语言的插件。
只需很少或不需要额外配置即可即时访问新功能。
基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,
并行构建 − 编译的速度能普遍提高20 - 50 %。
更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

1、下载:

maven配置下载地址_sed


1.1点击 Download

maven配置下载地址_sed_02


1.2选择版本下载

maven配置下载地址_java_03


1.3解压文件

maven配置下载地址_sed_04


我们把解压的文件夹放在你需要放置文件的地方。

1.4配置环境变量

配置步骤:

右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 新建系统变量1.4.1

环境变量名称:M2_HOME

变量值:maven解压存放的绝对路径

maven配置下载地址_maven_05

我们配置完成后点击 “”确定“”。

然后配置我们的系统变量

1.4.2配置 Path

点击编辑

maven配置下载地址_sed_06

添加 :%M2_HOME%\bin

maven配置下载地址_maven_07

测试:

测试 -> Win+R -> cmd -> mvn -v

测试结果如下图

maven配置下载地址_java_08

至此我们的maven已经下载 安装 配置环境变量成功。

错误的运行??????

maven配置下载地址_maven配置下载地址_09


这样是因为没有配置对环境变量。去重新配置环境变量。

2、Maven仓库

2.1本地仓库(local)

本地仓库:就是一个文件夹,不过要遵守maven规范,

在maven的绝对目录下

2.1.1添加本地仓

maven配置下载地址_java_10


2.1.2配置 settings文件

maven配置下载地址_sed_11


2.1.3配置本地仓库路径

注意事项:打开settings文件时选择 打开方式——记事本等其他文件打开。(直接编辑会报错哦~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

这里注意,D:/apache-maven-3.6.3/maven-repository文件是被注释掉的,拿出来使用即可。

注意事项2:我们复制过来的本地库绝对路径是, 我们需要改成/

maven配置下载地址_sed_12


保存。

这里就配置成功了

maven项目中的jar依赖去哪里查找下载呢?
https://mvnrepository.com/

2.2配置远程仓库(remote)
远程仓库:Maven是apeche公司的产品,所以远程仓库在国外。使用相对较慢。
所以阿里巴巴 的服务器 提供了 开源的jar包服务器,每10分钟在maven远程仓下载更新文件。所以国内可以使用 阿里巴巴提供的远程仓。

阿里云仓库一览图

**网址:**https://developer.aliyun.com/mvn/guide

maven配置下载地址_maven配置下载地址_13

2.2.3打开settings文件

在mirrors中添加

alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/ central

<mirror>
      <id>alimaven</id>
      <mirrorOf>jcenter</mirrorOf>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

maven配置下载地址_intellij idea_14


保存 配置完成 远程仓。

3、丰富自己的本地仓库命令(给本地仓库下载一些jar包)
Win+R 输入 cmd 进入 cmd窗口

输入: mvn help:system

下图 为 下载成功

maven配置下载地址_maven配置下载地址_15


然后我们就可以在我们的本地仓库查看到下载的资源

如下图

maven配置下载地址_java_16


本来次文件夹是我们新建的,是一个子文件都没有的。

现在出现的文件都是我们从远程仓库下载的。(阿里云)4、如何使用IDEA配置Maven 并运行

4.1打开Intellij IDEA

maven配置下载地址_maven_17


4.2选择 Configure——选择 Settings

maven配置下载地址_maven_18


4.3设置自己安装的maven

4.4选中 User settings file : 的 Override

4.5 选中自己的settings文件

4.6 我们可以看到 本地库会自动检索

maven配置下载地址_java_19


上述几步操作如下图

点击ok配置完成。

让我们来新建一下项目吧
5、使用IDEA 新建一个Maven项目,并运行。

5.1 选择新建 ——选中Maven ——选中 next

maven配置下载地址_maven_20


5.2设置 坐标 项目名称 版本号

maven配置下载地址_maven配置下载地址_21


5.3Next下一步后

maven配置下载地址_maven配置下载地址_22

IDEA版本高的话 5.2~5.3步骤是在一起的5.4继续点击下一步。

maven配置下载地址_maven_23


此时我们项目新建成功。

我们选中 import Changes 发现报错

maven配置下载地址_sed_24


原因 IDEA版本 与 maven版本不匹配。

节选自:CSDN

maven配置下载地址_maven_25


今天是2020年/04/22日,23:34腰酸背痛啊,

必须选择换一个软件。

来吧~~~宝贝

我选择卸载IDEA,毕竟高级的IDEA,可以兼容更多的插件新版本。

maven配置下载地址_intellij idea_26

我安装的是IDEA2019.3.2版本

安装过程我就省了,有需要可以私聊我!!!
上图,这是我点击mport Changes,没有出现 bug
并且在pom.xml 输入 <字母 是有快捷键的提示的。(很舒服)

发布的方式:<packaging>jar</packaging>

Dependencies
相对于dependencyManagement,所有生命在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。

3、区别

dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)

存放的一个jar的 公司 名称 版本


mysql

mysql-connector-java

5.1.47


,这个谁也记不住 ,看我下一步操作

maven配置下载地址_java_27


Maven找包网站: https://mvnrepository.com/

maven配置下载地址_sed_28

搜索 想要 的jar包

点击jar包

maven配置下载地址_intellij idea_29


进入子页面

选择一个版本点击

maven配置下载地址_intellij idea_30

maven配置下载地址_maven_31

复制 包的 坐标

复制到 IDEA 进行 导入 下载

maven配置下载地址_sed_32

maven配置下载地址_maven配置下载地址_33

此时 演示 导包 完成

下一步让我演示如何写代码运行
在 main——java——下新建 ——com.xxx.text——类名

IDEA中的 main方法快捷键
Psvm 回车 ——自动生成了 main方法

public static void main(String[] args) {

System.out.println(“hello 小白”);

}

maven配置下载地址_sed_34


运行成功。mvn package 打包

maven配置下载地址_sed_35


cd target 进入 target

输入 java -jar myproject-1.0-SNAPSHOT.jar

maven配置下载地址_java_36

报错了啊
显示我们没有主清单
咱们清除一下

cd…返回 上层

输入 mvn clean 清除

maven配置下载地址_java_37


打包的 target就没有了。

我们配置一下

进入 pom.xml文件




org.apache.maven.plugins

maven-shade-plugin

1.2.1



package


shade





com.hdax.text









maven配置下载地址_sed_38


这样就可以了。

mvn package 打包

Cd target 进入 target文件

输入 java -jar myproject-1.0-SNAPSHOT.jar

运行成功了hello 小白

maven配置下载地址_maven配置下载地址_39

清除包
Cd…
返回到项目目录
输入 mvn clean
Target文件就会清除

配置jdk1.8

maven配置下载地址_maven_40


找到我们 maven安装目录

找到 settings文件

在此处


添加


jdk-1.8


true

1.8



<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>



maven配置下载地址_sed_41


保存.

maven配置下载地址_maven配置下载地址_42

此处也是可以 执行 mvn命令的