如何研究Maven build时发生了哪些事情

在大公司做开发,每位程序员都是一个螺丝钉。每天的工作是在现有的项目里修修补补,添加新功能。用mvn clean install进行项目构建,等一段时间后在项目target文件夹里生成对应的资源文件,比如jar或者war文件。

作为一个有情怀的程序员,在看Maven的日志在控制台哗哗哗地打印出来,难道不想了解下mvn clean install到底发生了哪些事?

1. 打开Maven build的debug参数,把Debug Output的勾打上:

2. 观察Eclipse里的output,很快就能找到到底是哪个jar 文件实现了当前这次build:

可以按照output里的路径打开本地文件,就能找到build每一步对应的实现class。比如output里能发现build过程会包含很多validation:

这些validation对应的实现在本地jar包里都能找到:

然后用一些class文件的反编译工具就能看到source code了。

我用的是反编译工具Java Decompiler,使用很方便,就是一个jd.exe。

界面如下图所示:

比如对于本地Maven build里对于js validation的实现。

SAP UI5 plugin里硬编码了一些Window全局对象的attribute list,如果我们的代码里使用到的Window attribute不在这个list里,validation就会报message。

3. 例如mvn clean install日志里提到的JavaScript merge任务和CSS Generator任务,同理也能找到对应的实现代码:

其实现分别在下面这两个类CssGeneratorTask和JSMergeTask里。

#程序员# #Java#

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();