# Sent: Friday, April 10, 2015 4:11 PM
Subject: 如何研究Maven build時發生了哪些事情
有同事說對Maven build的過程感到很神秘,覺得是個黑盒子。
我對這個過程也覺得很好奇,很想弄清楚,其實還是有辦法的:
打開Maven build的debug option:
觀察Eclipse裡的output,很快就能找到到底是哪個jar 文件實現了當前這次build:
可以按照output裡的路徑打開本地文件,就能找到build每一步對應的實現class。比如output裡能發現build過程會包含很多validation:
這些validation對應的實現在本地jar包裡都能找到:
然後用一些class文件的反編譯工具就能看到source code了,比如對於本地Maven build裡對於js validation的實現,
UI5 plugin裡hard code了一些Window全局對象的attribute list,如果我們的代碼裡使用到的Window attribute不在這個list裡,validation就會報message。
對於和我們reuse project control非常相關的js merge和css merge,同理也能找到對應的實現code:
Js merge和css generation的實現分別在class CssGeneratorTask和JSMergeTask裡。
閱讀更多 汪子熙的游泳故事 的文章