如何研究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时发生了哪些事情


分享到:


相關文章: