如何研究Maven build時發生了哪些事情

# Sent: Friday, April 10, 2015 4:11 PM

Subject: 如何研究Maven build時發生了哪些事情

有同事說對Maven build的過程感到很神秘,覺得是個黑盒子。

我對這個過程也覺得很好奇,很想弄清楚,其實還是有辦法的:

打開Maven build的debug option:

如何研究Maven build時發生了哪些事情

觀察Eclipse裡的output,很快就能找到到底是哪個jar 文件實現了當前這次build:

如何研究Maven build時發生了哪些事情

可以按照output裡的路徑打開本地文件,就能找到build每一步對應的實現class。比如output裡能發現build過程會包含很多validation:

如何研究Maven build時發生了哪些事情

這些validation對應的實現在本地jar包裡都能找到:

如何研究Maven build時發生了哪些事情

然後用一些class文件的反編譯工具就能看到source code了,比如對於本地Maven build裡對於js validation的實現,

UI5 plugin裡hard code了一些Window全局對象的attribute list,如果我們的代碼裡使用到的Window attribute不在這個list裡,validation就會報message。

如何研究Maven build時發生了哪些事情

對於和我們reuse project control非常相關的js merge和css merge,同理也能找到對應的實現code:

如何研究Maven build時發生了哪些事情

Js merge和css generation的實現分別在class CssGeneratorTask和JSMergeTask裡。

如何研究Maven build時發生了哪些事情


分享到:


相關文章: