天天看点

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