在大公司做开发,每位程序员都是一个螺丝钉。每天的工作是在现有的项目里修修补补,添加新功能。用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 条评论) |