MAVEN好学吗?
话说那天在B站上看到个视频说MAVEN很重要,是学习JAVA中必须学习的内容。进而搜索了下,搜到了个100多小时的教程。瞬间被吓到了~~
看视频的体量,确实是很重要,估计也很难。
然而,大家千万不要和我一样被误导。
任何一门技术做到极致都是很难的,但是MAVEN入门并不难,看完这个帖子,估计你也能把MAVEN用起来。至于用到什么程度,那就看你后面自己怎么深入了。
1.什么是MAVEN
maven英文原意是:专家、内行的意思。
有关MAVEN的介绍,大家自己百度下。
MAVEN的读音是[ˈmeɪvn](“mei wen”),别读成“ma wen”。
我始终认为,一个技术人员的英文水平很大程度上决定了他的高度...
说多了,咱们开始进入主题!
2.为什么要用MAVEN
如果用一句话介绍MAVEN的话,就是帮助JAVA项目管理jar包的工具。以前jar包需要东找西找,jar包之间也有着各种依赖关系,特别容易搞错。
有了MAVEN就一站式搞定,简单的配置一下,jar包导入和依赖关系等都帮你自动搞定。
当然MAVEN还有更高级的功能,大家自行深入学习哈。
3.MAVEN安装
安装文件下载
MAVEN是APACHE的项目,可以通过以下网址下载MAVEN安装文件。
https://maven.apache.org/
我写这篇文章的时候MAVEN的最新版本是3.6.3,加之我是Windows系统,所以选择下载:apache-maven-3.6.3-bin.zip

下载完成后,我解压到以下位置:
F:\apache-maven-3.6.3

配置环境变量
两个地方:
- 增加MAVEN_HOME变量,值为:F:\apache-maven-3.6.3
- PATH变量追加增加:F:\apache-maven-3.6.3\bin
修改MAVEN本地仓库
这个地址说的是如果自动下载了jar包,这些jar包保存在本地电脑上的位置。
这个地址默认是在C盘,一般都会改放在其它盘符。
修改F:\apache-maven-3.6.3\conf\settings.xml

修改MAVEN远程仓库地址
这个地址说的是从哪里下载jar包。
默认的地址是国外服务器地址,下载速度太慢。所以改为阿里云的镜像地址(啰嗦下,阿里云里面各种镜像基本上都是与国外服务器实时同步的,可以说是个高速版的大宝库。建议大家自行探索下)。
增加以下内容至settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

4.Eclipse中配置MAVEN
A. 最新版的Eclipse中默认带了MAVEN插件,只需要将第三步中修改的settings.xml文件地址配置到插件上即可。

B.这个地方勾选上,每次启动Eclipse都会自动更新jar包仓库。

到此为止,MAVEN的安装和配置就完成了!!!欢呼!!欢呼!!
5.MAVEN中Web项目的目录结构
先通过Eclipse新建一个基于MAVEN的web项目
A.从MAVEN新建项目

B.使用默认的位置

C.选择apache下的webapp骨架

D.填写项目信息

然后呢?你就会开心的发现,在你的项目里面,已经自动帮你下载好了各种Web项目可能用到的jar包

还没完,你还需要手动建些文件夹
以下是MAVEN对于web项目的目录结构要求

从Eclipse里面可以看到,MAVEN默认创建的骨架中还少几个文件夹。不要问为什么?我也不知道。反正大家按照提示手工建立那几个文件夹就是了。
6.使用MAVEN配置MySQL数据库
MAVEN的核心就是项目创建时自动生成的那个pom.xml文件。
MAVEN的使用也基本上都是围绕这个XML文件展开的。
比如说我们现在的项目要链接MySQL数据库,在没有MAVEN的时候,需要手工下载导入jar包。现在有MAVEN了,这个工作就变得很简单了。只需要将下面的代码加到pom.xml的<dependencies>
标签下面
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
然后ctrl+s保存下,和MySQL相关的jar包就自动下载并加载好了。
这下体会到MAVEN的意义了吧?
7.使用MAVEN配置Oracle数据库
说了MySQL,为啥还要专门说Oracle呢?
是因为我第一次使用MAVEN的时候就是想添加Oracle依赖,但是无论如何都添加不上,一直报错。
经过多方查找,竟然是因为版权!
Oracle估计没有开放版权,换句话说,你想用Oracle的jar包,你就得自己下载,然后自己导入到MAVEN仓库中,再通过MAVEN添加依赖。
具体做法如下:
- 在Oracle官网,或者本地安装的Oracle中找到对应的jar包。由于我本地安装了Oracle,确定jar包位置:F:\ORACLE_WORKPLACE\Oracle18c\jdbc\lib\ojdbc8.jar
- 打开cmd,运行以下代码:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=11.2.0.1.0 -Dpackaging=jar -Dfile=F:\ORACLE_WORKPLACE\Oracle18c\jdbc\lib\ojdbc8.jar
意思就是说把这个jar包导入到MAVEN仓库。
- 导入成功后,在pom.xml中添加以下依赖即可。
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc8</artifactId>
<version>11.2.0.1.0</version>
</dependency>
- 既然Oracle出现这个问题,估计其他的依赖也有可能出现类似的问题,不过目前还未发现。所以这里先给大家提个醒。
8.从哪里找依赖的代码?
你可能会问,你怎么知道依赖里面的细节怎么写?
哈哈,给你个网站 https://mvnrepository.com/
所有的依赖都是从这里面查出来的。
9.大功告成,测试一下
package com.royotech.view;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertPerson {
public static void main(String[] args) throws Exception{
//加载驱动
Class.forName("oracle.jdbc.OracleDriver");
String username = "hr";
//建立连接
String password = "123123";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, username, password);
//新建发送SQL的工具
String sql = "insert into t_person values(seq_person.nextval,'李小美','女','28','13838758888','金澳科技')";
PreparedStatement pstm = conn.prepareStatement(sql);
//发送并执行SQL
int rows = pstm.executeUpdate();
System.out.println("影响行数:" + rows);
//处理结果集
//释放资源
pstm.close();
conn.close();
}
}
哈哈,成功了!

写在最后
当前是技术大爆发的时代,每个月甚至每天都会有新的技术、框架涌现出来。
从技术创作者的角度,他肯定是希望技术被大众使用,那么他就会尽可能降低初学者学习的门槛。
所以大家在遇到新生事物的时候,不要被吓倒,勇敢向前,你会发现你比你自己想象的更聪明!