如何研究Maven build时发生了哪些事情
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里。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":