一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

maven 插件打包問題的排查,懂了嗎?

 印度阿三17 2019-07-23

最近研究 sofa-ark的插件機制時,發(fā)現當執(zhí)行完 maven clean install -DskipTests 時,打在 target 目錄下的 xxx.jar 與安裝到本地倉庫的 xxx.jar 大小不一致。

  • target 目錄下的插件大小

    1

  • .m2 下的插件大小

    1

其實一開始看到這種現象也是懵逼,同一個工程,同一次命令執(zhí)行,但是得到的兩個 jar 包大小差距巨大。那么對于這種問題,我想到的有兩點:

  • debug 打包插件執(zhí)行過程

  • 了解 maven 插件的生命周期

01 debug 打包插件執(zhí)行過程

這里需要借助 IDEA 中的遠程 debug 能力來完成。目前有兩個工程,一個是我們的主工程,工程名為上面截圖中的 mq-client-ark-plugin ,另一個是打包插件的源碼工程,如下圖所示:

1

那么下面就一步一步來完成遠程 debug 的配置。

(1)使用 mvnDebug 命令開啟 debug 模式

在主工程 mq-client-ark-plugin 的根目錄下執(zhí)行  mvnDebug install(當然除了 install 之外,也可以是 compile、package、test、deploy 等)。

1

當執(zhí)行完 mvnDebug install 后,可以看到這個阻塞監(jiān)聽 8000 端口了。

(2)源碼工程配置遠程 debug

idea 主界面找下下圖的工具菜單,選擇 Edit Configurations...

1打開配置面板之后,左上角 選擇 Remote1

填寫相關遠程 debug 參數

1

  • Host : 遠程目標主機地址,因為之前 主工程也是本地啟動的,所以這里就是 localhost

  • Port : 遠程目標主機開啟的遠程 debug 端口

  • 開啟遠程 debug 參數:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

配置完成之后,執(zhí)行 debug ,可以看下已經連接到了目標機器:

1

在來看主工程這里,在源碼工程沒有執(zhí)行上面的 debug 按鈕之前,一直都是阻塞的,執(zhí)行之后 maven 執(zhí)行的生命周期開始了:

1

如上圖,因為在源碼工程中打了斷點,所以當執(zhí)行到 sofa-ark-maven-plugin 插件時阻塞了。

02 從 maven 執(zhí)行的生命周期找出問題根源

上面已經搞定了對目標插件源碼的 debug 模式的開啟,那么下面就是對插件代碼進行 debug 操作。節(jié)省篇幅,這里直接將斷點放在目標代碼行位置:

1

分析這段代碼

1

  • 1、獲取到項目的 Artifact ,此時 Artifactfile 為:1

  • 2、重新設置的 File

  • 3、重新設置了 artifact

1

如果單從上面 debug 來看,其實很難解釋開篇的那個問題。那么這里在回過頭來看下 主工程的 maven 執(zhí)行日志:

1

如上圖中圈紅的部分,代表 maven install 所經歷的所有階段??梢钥吹?sofa-ark-plugin-maven-plugin 是在  maven-install-plugin 后面,那這意味著什么呢?

我們知道在 target 目錄下得到的 xxx.jar 是打包階段的產物,而 .m2 下面的是 install 的產物。

當然這里沒有涉及到 deploy ,deployinstall 之后的操作,比如發(fā)布到遠程倉庫。

現在再來看,因為 sofa-ark-plugin-maven-plugin 在執(zhí)行 install 插件之前將 目標文件給替換了,所以導致打包生成的 target 目錄下的 xxx.jar 和 安裝到本地倉庫的 xxx.jar 不一致。

03 小結

本文記錄了日常的一個問題排查過程,包括兩個小點,一個是如何去 debug maven 的插件,另外一個是簡單了解下 maven 打包的生命周期。

來源:https://www./content-4-348301.html

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲国产精品一区二区| 国产成人人人97超碰熟女| 国产精品午夜福利免费在线| 99久久国产亚洲综合精品| 91人妻人人澡人人人人精品| 激情中文字幕在线观看 | 久久久精品日韩欧美丰满| 福利在线午夜绝顶三级| 日韩一级毛一欧美一级乱| 国产av精品一区二区| 激情亚洲一区国产精品久久| 亚洲欧洲在线一区二区三区| 大香蕉伊人一区二区三区| 好吊色免费在线观看视频| 亚洲欧美日韩在线看片| 亚洲国产精品国自产拍社区| 久久久免费精品人妻一区二区三区| 免费特黄一级一区二区三区| 少妇在线一区二区三区| 免费在线观看激情小视频| 五月天婷亚洲天婷综合网| 日本丰满大奶熟女一区二区| 国产精品一区二区成人在线| 极品少妇嫩草视频在线观看| 最新国产欧美精品91| 亚洲中文在线中文字幕91| 亚洲中文字幕视频在线播放| 出差被公高潮久久中文字幕| 日本不卡在线视频中文国产| 中文字幕佐山爱一区二区免费| 中文字幕一区二区三区大片| 欧美日韩在线视频一区| 久久人妻人人澡人人妻| 嫩草国产福利视频一区二区| 色婷婷激情五月天丁香| 黄片在线免费观看全集| 蜜桃传媒在线正在播放| 国产精品欧美一区两区| 开心五月激情综合婷婷色| 国内胖女人做爰视频有没有| 韩国日本欧美国产三级|