电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

使用idea和gradle編譯spring5源碼的方法步驟

瀏覽:109日期:2023-09-23 10:14:17

寫在前面:spring 應(yīng)該對于每個從事java開發(fā)的大兄弟們來說應(yīng)該都不陌生的,作為一個從業(yè)兩年多的小開發(fā)仔,個人覺得,每天都在面對spring,確從來沒有編譯過spring源碼,有點不太合適。最近在研究spring源碼的時候,突然想起編譯一下spring源碼,網(wǎng)上應(yīng)該也有很多大神編譯過spring源碼,在這里我把我再編譯過程的遇到的坑,來跟大家分享下。

版本工具:spring5.0.x,gradle4,9,jdk1.8_131,kotlin1.2.51,groovy2.4.15,IntelliJ IDEA 2018-2

詳細(xì)步驟及坑見下:

1,下載gradle,可以去官網(wǎng)下載,gradle版本需要4.2以上,小編這里選擇的是gradle4.9版本。

gradle下載地址:https://services.gradle.org/distributions/

使用idea和gradle編譯spring5源碼的方法步驟

gradle下載時候有三個包,gradle-src為gralde源碼,gradle-bin為安裝包,gradle-all為源碼加安裝包,我們這里只需下載安裝文件即可。

2,配置gradle

gradle下載后不需要安裝,解壓再本地磁盤后配置環(huán)境變量即可

使用idea和gradle編譯spring5源碼的方法步驟

1),配置gradle環(huán)境變量

使用idea和gradle編譯spring5源碼的方法步驟

新建GRADLE_HOME,path中增加%GRADLE_HOME%/bin;即可

配置完成以后win+r,輸入cmd進(jìn)入dos界面,鍵入命令gradle -v,若如下圖正確輸出版本信息即可

使用idea和gradle編譯spring5源碼的方法步驟

2),配置gradle默認(rèn)的本地倉庫,gradle和maven類似,工作時也需要一個本地倉庫,管理工程jar包,可做如下配置,新增GRADLE_USER_HOME,路徑配置成需要的本地倉庫路徑即可。

使用idea和gradle編譯spring5源碼的方法步驟

3,下載spring5源碼(這里我們直接從全球最大的同性交友平臺github上下載就可以了),進(jìn)入github官網(wǎng),直接搜索spring

使用idea和gradle編譯spring5源碼的方法步驟

這里可能有很多同志上傳的spring源碼,這里我們直接找官方版本

使用idea和gradle編譯spring5源碼的方法步驟

進(jìn)去之后會看到一個master版本,我們,同時也包含很多spring的歷史分支版本,這里我們直接選擇5.0.x版本

使用idea和gradle編譯spring5源碼的方法步驟

使用idea和gradle編譯spring5源碼的方法步驟

我們直接下載zip到本地磁盤即可

源碼下載地址:https://github.com/spring-projects/spring-framework

4,講spring5源碼導(dǎo)入idea進(jìn)行構(gòu)建

編譯spring5源碼有很多方式,可以直接通過gradle命令編譯,不過這種編譯方式比較麻煩,出現(xiàn)錯誤也不太好排查,回頭可專門寫一個文介紹下使用gradle命令編譯spring源碼。

這里我們選擇直接通過代碼編輯工具來編譯spring5源碼,可以用eclipse或者idea等等,這里我個人推薦使用idea編譯。

1)將源碼導(dǎo)入idea,idea怎么導(dǎo)入工程就不一一細(xì)說了,沒使用過idea的大兄弟,可以惡補一下idea使用手冊:file-open選到對應(yīng)項目即可(先將源碼解壓到idea工作空間中去)

2),導(dǎo)入前先注意下工程下的這幾個文件,為導(dǎo)入eclipse和idea前需要注意的地方

使用idea和gradle編譯spring5源碼的方法步驟

我們點開import-into-idea.md文件

使用idea和gradle編譯spring5源碼的方法步驟

注意幾點:

a,因為其他項目需要依賴spring-core和spring-oxm,所以我們導(dǎo)入后需要先編譯這兩個包

b,spring-aspects需要依賴三方j(luò)ar(精通aop的應(yīng)該知道spring-aop和aspectj的關(guān)系,在使用注解方式實現(xiàn)spring-aop的時候,需要導(dǎo)入aspectj的jar,有興趣的可以去查閱下官方文檔aop相關(guān)文檔),這里編譯可能會報錯,不影響我們編譯使用,我們先不處理

c,使用工具編譯時,可能會出現(xiàn)內(nèi)存溢出情況,這里我們編譯時需要增加相關(guān)參數(shù)

-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m

3),以上工作完成之后,我們可以開始導(dǎo)入編輯編譯配置了,如下圖(需要注意的地方已在圖中標(biāo)注)

使用idea和gradle編譯spring5源碼的方法步驟

注意-注意-注意:小編曾經(jīng)猜過的坑,jdk版本,不能太高,我曾經(jīng)使用jdk1.8_20和jdk1.8_191編譯,均會出現(xiàn)版本問題,我后來采用的是,jdk1.8_131版本,即可成功

4),編譯過程中會出現(xiàn)一些錯誤,常見如下

a),jdk版本錯誤(如前所說,換成對應(yīng)版本即可)

使用idea和gradle編譯spring5源碼的方法步驟

b),出現(xiàn)如下錯誤,點擊open file,將框中內(nèi)容注釋即可

使用idea和gradle編譯spring5源碼的方法步驟

如上做完后,等著build完了即可,全稱需要下載gradle倉庫jar包,需要時間比較長,拼機器性能和網(wǎng)速的時候到了,兄弟們加油。

5,當(dāng)項目構(gòu)建完成之后,便可開始編譯,編譯很簡單,直接在moudle中run test all即可

使用idea和gradle編譯spring5源碼的方法步驟

如果出現(xiàn)依賴報錯,如下執(zhí)行命令,即可下載相應(yīng)jar包

使用idea和gradle編譯spring5源碼的方法步驟

如下執(zhí)行完了后,編譯moudle即可,如此依次編譯spring-oxm,spring-context,spring-bean即可

6,使用剛剛編譯的spring源碼構(gòu)建spring項目,在工程目錄下,新建moudle,引入對應(yīng)的依賴即可

使用idea和gradle編譯spring5源碼的方法步驟

使用idea和gradle編譯spring5源碼的方法步驟

項目構(gòu)建完成,正確輸出。至此,spring5.0.x項目構(gòu)建編譯完成。大功告成!

到此這篇關(guān)于詳解使用idea和gradle編譯spring5源碼的文章就介紹到這了,更多相關(guān)idea和gradle編譯spring5內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 江西自考网| 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 不锈钢酒柜|恒温酒柜|酒柜定制|酒窖定制-上海啸瑞实业有限公司 | 旋转气浴恒温振荡器-往复式水浴恒温振荡器-金怡百科 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 钢格板_钢格栅_格栅板_钢格栅板 - 安平县鑫拓钢格栅板厂家 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 釜溪印象网络 - Powered by Discuz! | 北京燃气公司 用户服务中心 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 地磅-电子地磅维修-电子吊秤-汽车衡-无人值守系统-公路治超-鹰牌衡器 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 厌氧工作站-通用型厌氧工作站-上海胜秋科学仪器有限公司 | 广州各区危化证办理_危险化学品经营许可证代办| 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 |