一.環境準備
不耽誤各位想提升技術的熱血沸騰的心情,不想囉嗦半天雞湯廢話,直接進入正題。
要想構建源碼,大家都知道第一步幹什麼?github走起。
- 下載mybatis源碼:https://github.com/mybatis/mybatis-3
- 下載mybatis依賴項目parent:https://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構建跟蹤源碼。
白嫖無義,大家如有收穫,請給小編愛心三連,激勵小編更好的創作!!!