文章目录
- 一、关于Maven
- 二、Maven的配置及使用
- 1.Maven 依赖管理流程
- 2.Maven的配置
- 三、新建maven项目
- 四、添加外部jar包
- 1.查找依赖信息
- 2.添加依赖至pom.xml
- 3.加载依赖
- 4.代码测试
- 五、Maven项目jar导入失败解决方案
- 1.检查配置
- 2.删除jar包
- 3.使用Maven重新生成依赖
- 六、Maven生命周期
一、关于Maven
1.Maven的概念
Maven 是⼀个项⽬构建⼯具,创建的项⽬只要遵循 Maven 规范(称为Maven项⽬),即可使⽤ Maven 来进⾏:管理 jar 包、编译项⽬,打包项⽬等功能。
为什么学习 Servlet 之前要学 Maven?
因为 Servlet 是框架,要使⽤ Maven 进⾏ jar 包管理和项⽬打包和发布。
2.Maven的作用
- 导⼊外部 jar 包
- 打包项⽬
- 发布项⽬
二、Maven的配置及使用
Maven ⽆需安装,因为 Idea 已经⾃带了,打开 Idea 的设置页面settings,在搜索框中输入“Maven”就能找到 Maven,如下图所示:


1.Maven 依赖管理流程
Maven 项⽬中可以引⼊依赖包(引⼊外部框架的 jar 包),引⼊后,加载依赖包的⽅式为在 Maven 仓库 中搜索。
Maven仓库可以理解为存放依赖包的仓库,分为本地仓库和远程仓库两种。

本地仓库地址在 Idea 中可以找到,如下图所示:

2.Maven的配置
Maven的数据源默认是国外的数据源,所以下载 jar 会很慢,且经常出差,所以⼀定要配置本机的 Maven 源 为国内源,它的配置⽅法如下:
1.找到maven的settings.xml配置文件
默认情况下电脑上有这个文件。
如果没有,解决方法如下:
复制settings.xml文件名,这里不建议手写,因为手写出错的可能性更大,会导致后面下载jar包失败。

【注】:配置文件目录是不能出现中文的。 如果出现中文字符,需要在Users的下一级目录新建xx\.m2文件,一定要改成英文文件名。
在配置文件目录的.m2文件中新建settings.xml文件

将下列代码复制到settings.xml文件中。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups>
pluginGroups>
<proxies>
proxies>
<servers>
servers>
<mirrors>
mirrors>
<profiles>
profiles>
settings>
2.打开settings.xml文件,找到镜像,将下列代码复制到镜像集合中并保存。
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>

这段代码的意思是配置国内源,现在使用最多的是阿里的源和网易的源,这里配置的是阿里的源(maven.aliyun.com),当下载jar包的时候从url所定义的网站进行下载。
3.勾选Idea中配置文件和本地仓库的Override

之后点击OK即可。
这一步设置完成后仅仅是设置了当前项目的配置信息,当打开一个新项目后,需要重新配置,很麻烦。所以需要进行下一步的设置。
3.配置新项目的maven国内源

重复前面的操作配置新项目的maven国内源。





四、添加外部jar包
以jdbc的jar包为例。
1.查找依赖信息
在mvn中央仓库(相当于应用商城,所有开发者所需的jar包都在这里),找到对应的依赖信息。
中央仓库的地址如下:
https://mvnrepository.com/

根据本地电脑mysql的版本选择一个对应版本,点击进入。

2.添加依赖至pom.xml
复制maven的依赖信息到Idea项目的pom.xml里。


3.加载依赖
点击加载按钮,重新加载当前项目的依赖。


4.代码测试
连接本地数据库,查询信息。
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class App {
public static void main(String[] args) throws SQLException {
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setURL("jdbc:mysql://127.0.0.1:3306/java33?character=utf-8&useSSL=true");
dataSource.setUser("root");
dataSource.setPassword("123456");
Connection connection = (Connection) dataSource.getConnection();
String sql = "select * from student where id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,2);
ResultSet resultSet = statement.executeQuery();
if(resultSet.next()){
System.out.println("用户名: "+ resultSet.getString("username"));
System.out.println("邮箱:"+ resultSet.getString("mail"));
}
resultSet.close();
statement.close();
connection.close();
}
}
运行结果:

代码成功运行,说明依赖已经成功地添加到项目当中,并且可以正常使用。
五、Maven项目jar导入失败解决方案
1.检查配置
①检查Maven下的settings.xml是否配置并勾选了国内源

②检查settings.xml文件里是否设置了阿里云的镜像

2.删除jar包
打开本地仓库,删除里面包含的所有jar包。


3.使用Maven重新生成依赖
如果经过前三个步骤仍然存在错误,那么更换网络,继续进行前三步的操作,直至没有问题为止。
六、Maven生命周期
Maven构建⼯具主要⽬的就是对Maven项⽬进⾏管理,这些都是通过Maven的⽣命周期命令来管 理的。在IDEA创建的Maven项⽬中,打开Maven⾯板,展开项⽬的Lifecycle即为⽣命周期命令:

当一个java文件编译之后,会生成相应的字节码文件target,clean用于删除该字节码文件。

- validate:验证合法性
验证pom.xml是否正确,以及依赖是否都已经下载好了。
- compile:编译
自动调用javac把你的代码中的.java都编译成.class。
- test:单元测试
自动执行test这个目录中的单元测试代码(一般是搭配junit 来完成的)。
- package:(最常用的)进行打包
- verify:确认
也是一个校验动作,往往是对测试结果进行检测。(集成测试)
- install:安装.
把你程序部署到某个本地的目录中,供其他程序使用。
- site: 生成网站的报告信息。
- deploy: 部署到中央仓库。