如何优雅地本地化构建Mybatis源码

时间:2022-07-24
本文章向大家介绍如何优雅地本地化构建Mybatis源码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一.环境准备

不耽误各位想提升技术的热血沸腾的心情,不想啰嗦半天鸡汤废话,直接进入正题。 要想构建源码,大家都知道第一步干什么?github走起。

  1. 下载mybatis源码https://github.com/mybatis/mybatis-3
  2. 下载mybatis依赖项目parenthttps://github.com/mybatis/parent

二. 源码构建

  • 上面环境准备,大家会存在一个疑问,构建Mybatis源码为什么要下载parent项目呢? 答疑:clone下来mybatis源码后,可以尝试一下使用mvn clear install构建一下项目,毫无疑问肯定会报错。因为它依赖parent项目。 打开mybatis项目中的pom.xml文件验证:
 <parent>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-parent</artifactId>
    <version>32-SNAPSHOT</version>
  </parent>

可以清晰看出它依赖父项目,可以得到解决大家心中的疑惑。

2.1 parent

parent项目clone下来之后,大家可能会想构建项目mvn clear install,小编构建源码之前也搜过好多博文,皆言parent项目能够构建成功。小编也证实了的确能够构建成功。小编也经历构建失败,由于自己办公电脑环境配置问题,导致parent项目一直构建失败,但是并没有影响小编。下面举例说明一下小编构建失败的案例。如果大家构建成功,则忽略以下几句废话。 构建失败案例:小编构建时,总是报错 Plugin org.apache.maven.wagon:wagon-ssh:3.4.0 or one of its dependencies could not be resolved;小编通过maven下载改jar包后,也是编译没有通过。于是乎,小编放弃了构建parent项目,放手大胆尝试,在mybatis源码中加入parent依赖路径,尝试一下构建,惊喜可能会迟到但不会不到,居然成功啦。后面会给大家细说如何依赖。这里先提一下,大家如何parent项目一直构建失败,可以放弃一下,大胆尝试一下。 贴一下小编构建parent项目构建失败图,希望大家避免浪费时间采坑,如果有解决的大佬留言共享。大家可以忽略,进入正题。

成功案例: 小编将跟踪源码的点滴注释会提交个人仓库,所以下班回家自己用自己的电脑构建了一下parent项目,确实成功了。 命令:mvn install 项目版本号32-SNAPSHOT,安装路径。

2.2mybatis源码

  • parent依赖 上面我们已经提到好几次要依赖parent项目。所以要在pom.xml中加入parent项目依赖;
<parent>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-parent</artifactId>
    <version>32-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>

注意点

  • parent版本号32-SNAPSHOT要与自己下载的保持一致;github大家可以勾选自己所需要的版本;

直接下载master分支也是可以的,小编第一次构建源码时,经验略浅选择的就是master分支,但是构建也是成功的。

  • 加入relativePath标签的内容 …/parent/pom.xml这里是相对路径哦。贴一下小编的存储路径;
  • mysql驱动依赖
	<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.46</version>
    </dependency>
  • 构建mybatis源码 mvn clear install命令构建,如果构建成功,则忽略以下解释(专门为构建失败的伙伴准备的)。 如何大家使用mvn clear install命令构建源码,也是会失败的,因为mybatis依赖的parent项目构建失败,wagon-ssh 依赖失败。但是不影响我们跟踪源码。 “实践是检验真理的唯一标准”。构建失败不影响大家跟踪源码要用事实证明,小编简单在编码里写了一个demo,运行一下证明成功运行。

后面小编会专门写一篇如何demo构建跟踪源码。

白嫖无义,大家如有收获,请给小编爱心三连,激励小编更好的创作!!!