<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          記一次spring5源碼的完整編譯過程

          共 1965字,需瀏覽 4分鐘

           ·

          2020-08-07 13:39


          學(xué)習(xí)java已有3年之久,spring一直停留在應(yīng)用階段,兩次面試阿里的經(jīng)歷讓我深感學(xué)習(xí)spring源碼的重要性,廢話不多說,開搞!


          1、環(huán)境:


          jdk1.8+spring5+gradle4.7+eclipse4.6


          如果要參考該教程,環(huán)境最好一樣(eclipse除外),因為以前編譯過spring3,由于環(huán)境問題折騰了好久。


          2、檢測jdk版本java -version



          由于此次編譯的是spring5,jdk版本不能太低


          2、下載spring源碼


          spring源碼托管在github上:https://github.com/spring-projects/spring-framework(還沒安裝git的同學(xué)是時候?qū)W習(xí)一下了,不過此次編譯可以不依賴git)



          下載下來解壓:



          3、安裝gradle(一款基于Groovy的構(gòu)建工具,比maven更簡潔)


          傳送門:https://gradle.org/releases/


          選擇4.7版本下載


          設(shè)置環(huán)境變量:


          新建用戶變量GRADLE_HOME,值為gradle的安裝目錄,我的安裝目錄如下:



          設(shè)置環(huán)境變量:



          檢測gradle是否安裝成功:



          出現(xiàn)上圖說明安裝成功


          4、將spring工程轉(zhuǎn)換成eclipse可識別的工程


          進(jìn)入spring的解壓目錄,執(zhí)行下面命令:


          gradle?cleanidea eclipse


          (網(wǎng)上普遍反應(yīng)這個步驟會報錯,反正我是一次通過,以前編譯spring3的時候在這里的確折騰了很久)


          此時直接導(dǎo)入eclipse spring-core工程會報錯缺少jar包:spring-cglib-repack-x.x.x.jar、spring-objenesis-repack-x.x.jar


          要在spring的解壓目錄下執(zhí)行下面這兩個命令:


          gradle?objenesisRepackJar
          gradle cglibRepackJar


          5.此時你可以把spring工程導(dǎo)入到eclipse了



          先導(dǎo)入spring-jcl,不然spring-core會報錯(這些工程之間的依賴關(guān)系自己去摸索吧)


          6、解決spring-bean工程的代碼報錯


          缺少groovy插件,


          安裝groovy插件:


          在eclipse的 Help -> Install New Software 中,添加groovy的下載連接:


          http://dist.springsource.org/snapshot/GRECLIPSE/e4.6/(這里最后的e4.6代表你eclipse的版本別搞錯了,不然安裝不成功別找我)


          這個安裝groovy插件話說有點坑,開了vpn速度也提不上去,哪位老鐵有好的方法煩請告知一聲哈


          7、安裝groovy插件后會報一個groovy編譯版本的錯誤,spring5用的是2.5的編譯版本,而我們下載的groovy默認(rèn)是2.6版本,查看groovy編譯版本方式:windows->perferences->groovy



          我已經(jīng)改好了,注意這里不要想當(dāng)然的選下面的Switch to試圖切換編譯版本,本人親測行不通,不過可以用下面的方式:


          Help->Install?New?Software



          找到安裝的groovy的插件(我的已經(jīng)刪了卸載了2.6和2.4版本的了):



          原本有2.4、2.5和2.6三個編譯版本,我們把2.4和2.6的給卸載了(選中2.4和2.6點擊下面的Uninstall按鈕),然后重啟eclipse


          8、解決spring-oxm報錯問題(缺少castor和jax)


          在spring的解壓目錄下執(zhí)行下面命令


          1.gradle?genCastor
          2.gradle?genJaxb


          然后去spring-oxm/build/classes下面看看,如果已生成jar包則應(yīng)該不會再報錯(記得clean一下)


          不過我這里有些奇怪,執(zhí)行上面兩條命令后竟然生成的是解壓后的文件,如果你也一樣的話,還要繼續(xù)以下步驟:


          在classes目錄下分別執(zhí)行下面兩條命令(自己打jar包):


          jar?cvf?jaxb.jar?jaxb\org
          jar?cvf?castor.jar?castor\org


          然后回到eclipse,右鍵spring-oxm->build Path:


          在Libraries中把原本的castor和jaxb刪除,然后再重新導(dǎo)入我們手動打的jar包

          到此為止,spring5的源碼導(dǎo)入算是成功了:




          出處:csdn.net/coder_no/article/details/83315981




          點個“在看”

          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国外三级片网站 | 丁香五月激情综合婷婷 | 逼特逼视频网 | 无码精品一区二区三区四区五 | 亚洲做视频|