天天看點

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

  1. 打開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時發生了哪些事情

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

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

Js merge和css generation的實作分别在class CssGeneratorTask和JSMergeTask裡。

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