【操作系统】maven 的介绍、安装与使用

maven

Java 生态圈中的一个重要工具,maven 是一个构建工具

(构建:编译 java => .class;打包:许多.class 文件打包成一个 .jar 文件)

之前用 idea 打过包,也可以使用命令行打,maven 也能用于打包,而且是最方便的

maven 还有一些其他功能,包括一个十分重要的功能——依赖管理【一个复杂的程序经常会依赖一些第三方库(第三方的 jar),使用的时候,需要把对应的 jar 包下载下来,导入到工程中】

例如:

你想用 a.jar,a.jar 依赖了 b.jar,b.jar 依赖了 .c.jar……

当你在项目中使用 a.jar 的时候,不光要下载 a.jar 还要把依赖jar包 b.jar 、c.jar 都下载并导入,同时还等保证这些 jar 包啥都匹配的上,手工下来十分麻烦,进一步发明了自动管理依赖的工具

 

中央仓库——下载 jar 包的位置,相当于手机应用商店

 

 

maven的使用

最好搭配  IDEA 使用,IDEA 在创建项目的时候 new project 然后进行下面的操作

 

这三个参数可以确定中央仓库唯一的 jar 包

如果没有自动填写默认值,就手动随便填写就行,使用 maven 下载其他的中央仓库的 jar 包,就需要指定对应这三个 ID

点击 finish 就按完成了项目的配置,此时 IDEA 将自动创建一个 maven 项目,第一次创建 maven 的时候,由于 maven 需要从中央仓库上下载大量的依赖 jar 包,第一次创建可能会非常慢(几个小时都是有可能),后面就会比较快了

如果创建失败:

  1. 可以尝试换个时间重新下载
  2. 或者尝试换个中央仓库

换中央仓库

就是在刚刚设置的时候看到的,修改红框位置 setting.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">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors>
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云公共仓库</name>
     <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
     <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云谷歌仓库</name>
     <url>https://maven.aliyun.com/repository/google</url>
    </mirror>
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云阿帕奇仓库</name>
     <url>https://maven.aliyun.com/repository/apache-snapshots</url>
    </mirror>
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云spring仓库</name>
     <url>https://maven.aliyun.com/repository/spring</url>
    </mirror>
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云spring插件仓库</name>
     <url>https://maven.aliyun.com/repository/spring-plugin</url>
    </mirror>
  </mirrors>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>

这样就下载成功了

 

maven 有很多的配置,当配置被创建出来或者作出修改的时候,就会产生项目的一些变化,比较推荐自动导入,后续作出的修改,都会自动生效,不需要手动 import

此时maven 项目就创建好一半了,还有一半操作需要手动完成

先看一下当前 idea 都给这个项目生成了哪些内容

pom.xml 是 maven 项目中最核心的配置文件

xml:是一种文件格式,这种歌也是标签化语言

 

前面创建项目的时候的配置信息

 

构建 => 打包

jar:普通的 java 程序

war:webapp,也是一个压缩包,格式和 jar 类似,只不过里面多了一些 webapp 中依赖的资源(html,css等),如果没有 package 标签,默认是打 jar 包

 

maven 有一个重要的功能——管理依赖,自动从 maven 中央仓库上下载,第三方的 jar 包到本地,里面可以报含很多 dependency 标签,每一个 dependency 标签就对应一个第三方的 jar 包。此处已经默认了一个 jar 包,juint 这个是用来单元测试的

scope 带表在那些环节生效,中间填写的 test 就代表在 maven 的单元测试环节生效(最终生成的 war / jar 包,不会带有 junit 这个 jar),实际开发中,scope 一般不用太关注

 

显示这个就说明当前的 juint 下载成功

 

最终打包出来的包名是什么

 

这些都是一些插件

 

 

配置目录

在 src 目录下的 main 目录下补充下面的几个文件夹,并且配置这些目录

右键选择java文件夹,选择 Sources Root

 

同理 resources 选择 Resources Root

 

test选择 Test Sources Root

 

如果颜色对不上,idea 是无法正确识别项目的


此时 maven 项目创建就绪,可以 使用 maven 进行一次简单开发。体会依赖管理、编译、打包……

以数据库操作为例

现在就可以使用 maven 来引入,需要把 mysql 的相关配置写到 pom.xml 中

这个不要手写,一定要赋值粘贴,从maven 仓库上复制

mysql connector 的 jar 包的版本要和 mysql 服务器的版本一致(至少大版本一致)

点击从这个位置下载 Mysql Connector-Java

我的MySQL 版本是5.0 版本的所以我选择的是5 版本下比较新的版本

 

复制到 pomxml 中

 

此处刚粘贴进去的时候,可能是红色的,红色说明该 jar 包还没有被下载成功,如果下载成功,就变成正常颜色了

创建项目

 

在  java 文件夹中创建一个 .java 文件

 

进行一次 JDBC 的查询操作

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * Create with IntelliJ IDEA
 * Description:
 * User:Zyt
 * Date:2020-07-10
 */
public class TestMySQL {
    public static void main(String[] args) throws SQLException {
        String url = "jdbc:mysql://127.0.0.1:3306/java_0531?characterEncoding=utf-8&useSSL=true";
        String username = "root";
        String password = "";

        //借助 DataSource 来管理数据库连接
        //1、创建 DataSource 实例,并设置数据库的相关参数
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL(url);
        ((MysqlDataSource)dataSource).setUser(username);
        ((MysqlDataSource)dataSource).setPassword(password);
        //2、和数据库建立连接
        Connection connection =  dataSource.getConnection();
        //3、访问数据库,需要先拼装一个 sql 语句
        String sql = "select * from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        //4、执行 sql
        ResultSet resultSet =  statement.executeQuery();
        //5、遍历结果集
        //  每次调用 next 方法,就能获得一条记录
        //  进一步调用 getXXX 方法,根据列名,获取到对应的列的数据
        while (resultSet.next()){
            System.out.println(resultSet.getInt("id"));
            System.out.println(resultSet.getString("name"));
            System.out.println(resultSet.getInt("classId"));

        }
        //6、关闭连接,释放资源
        //  关闭顺序和创建顺序正好相反
        resultSet.close();
        statement.close();
        connection.close();
    }
}

 

maven 项目同样也可以点击这里运行,但是这种运行这是在本地跑一下,不能打包部署

 

maven 的打包方式:

  1. 打开 maven 窗口
  2. 右键 packaging ,点击 build
  3. 等待

点击最右侧下图按键

点击创建

 

构建打包完成

 

这是最终的打包结果

 

这个名字对应的是  pom.xml 中的

maven只是首次使用是下载依赖非常麻烦(受限于网速),如果依赖都准备就绪了,真正的使用过成中都是十分简单的


maven 的生命周期

  1. clean:清空之前编译生成的临时文件
  2. validate:验证合法性(验证 pom.xml 是否正确,以及依赖是否都下载好了)
  3. compile:编译,自动调用 javac 把代码中的 .java 都编译成 .class
  4. test:单元测试,自动执行 test 这个目录中的单元测试代码(一般是搭配 juint 来完成的)
  5. package:(最常用的)进行打包
  6. verify:确认,也是一个校验动作,往往是对测试结果进行检测(集成测试)
  7. install:安装,把你的程序部署到某个本地的目录中,供其他程序使用
  8. site:生成项目的站点文档
  9. deploy:部署到中央仓库

此处的生命周期执行某个操作的时候,都会自动执行前面的动作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值