久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何修改和編譯spring

139次閱讀
沒有評論

共計 2004 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章給大家分享的是有關如何修改和編譯 spring-context 的源碼的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

下載源碼

下載源碼的第一步,是找個用到了 spring-context-4.0.2.RELEASE.jar 的 java 工程,如果讀者您手里沒有現成的工程,可以在我的 git 上下載,地址:https://github.com/zq2599/blog_demos

下載后可以發現里面有很多工程,本次實戰用的工程是 springmybatisexceptiondemo,如下圖紅框所示:

用命令行進入 pom.xml 所在的目錄下,執行命令 font color= blue mvn dependency:sources /font,即可下載所有依賴庫的源碼包,如下圖:

此時進入 maven 的本地倉庫,找到 spring-context 的目錄,在里面就能看到源碼的 jar 包,如下圖:

maven 的本地倉庫,一般在用戶目錄的.m2 文件夾下;

解壓 jar 包,準備材料

在 maven 的本地倉庫中,找到 spring-context 的目錄后,將里面的 spring-context-4.0.2.RELEASE.pom,spring-context-4.0.2.RELEASE-sources.jar,spring-context-4.0.2.RELEASE.jar 這三個文件都復制到一個新建的文件夾中,然后將 spring-context-4.0.2.RELEASE-sources.jar 和 spring-context-4.0.2.RELEASE.jar 都解壓;

## 新建 spring-context 的 maven 工程 ## 新建一個 maven 工程,pom 文件的內容和 spring-context-4.0.2.RELEASE.pom 的一模一樣,如下圖:

進入剛才解壓的 spring-context-4.0.2.RELEASE-sources.jar 的文件夾,把里面的 org 文件夾整個都復制到新建的 maven 工程的 java 文件夾下,如下圖所示:

只復制 java 文件是不夠的,還要復制 META-INF 和 xsd 文件,這些東西都不在 spring-context-4.0.2.RELEASE-sources.jar 包中,還記得剛剛我們把 spring-context-4.0.2.RELEASE.jar 文件也解壓了么?META-INF 和 xsd 文件在這個解壓的文件夾中可以找到;

先是 META-INF,在 spring-context-4.0.2.RELEASE.jar 的解壓目錄中,把 META-INF 文件夾復制到新建的 maven 工程的 resources 文件夾下,如下圖所示:

接下來是 xsd 文件,在 spring-context-4.0.2.RELEASE.jar 的解壓目錄中,進入 org/springframework/cache/config 子目錄,里面不以 class 為后綴的文件有四個,把這四個文件全部復制到 maven 工程源碼的 org/springframework/cache/config 目錄下,如下圖:

以下幾個目錄下也有 xsd 文件,請像上面的方法一樣,將里面的 xsd 和 gif 都復制到 maven 工程中對應的目錄下:

org/springframework/context/config org/springframework/ejb/config org/springframework/scheduling/config org/springframework/scripting/config

構建 jar 包

在上面所建的 maven 工程的 pom.xml 文件所在目錄下,執行命令 font color= blue mvn clean package -U -Dmaven.test.skip=true /font,執行成功后,在 target 目錄下就能看到最新構建的 jar 包了,如下圖:

至此,我們實踐了構建 spring-context 的 jar 包的過程,根據實際需要,我們可以先修改了源碼再構建,例如下圖是我修改的 CommonAnnotationBeanPostProcessor 類的源碼,很簡單,加了一些輸出,比如打印當前緩存的 key,以及代碼的調用棧情況:

改完代碼后重新構建,生成新的 spring-context-4.0.2.RELEASE.jar 文件,我的 web 應用之前已經部署在了 tomcat 下,現在打開這個應用的 lib 目錄,用這個 jar 替換原有的文件,再重啟 tomcat,在控制臺可以看到打印出了比以前更多的異常堆棧內容,便于我們定位問題:

感謝各位的閱讀!關于“如何修改和編譯 spring-context 的源碼”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2004字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 恩施市| 尖扎县| 蒙山县| 禄丰县| 武乡县| 巴林左旗| 平原县| 公主岭市| 东光县| 永平县| 义马市| 乌鲁木齐县| 兰考县| 文水县| 山阳县| 治县。| 高邑县| 邵武市| 个旧市| 维西| 南安市| 万宁市| 花莲市| 双鸭山市| 萍乡市| 武城县| 余江县| 三明市| 阿拉善左旗| 巩义市| 南平市| 嵊泗县| 巴彦县| 阳谷县| 依安县| 平凉市| 隆安县| 承德县| 华蓥市| 扎鲁特旗| 夹江县|