该用户从未签到
|
## 构建
; h! Z* K% r) g5 y1 y! A8 c
+ `& i" D0 u6 a" u0 C这里搜集了用来构建应用程序的工具。( \( f/ A- \4 T6 z& z# Z
/ r5 } Y, s: J8 o4 O* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。/ p9 P0 ^/ Z9 G& r
* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。, `" |! D% T# ^5 T4 U% g2 D/ D& K
' q3 e; k9 b- n: O y. Y% C* * *& z& }6 B! y5 V' V3 b( V* P
: X9 m/ y* l$ c6 d9 ]## 字节码操作
3 k, e# l/ O' u+ u9 T: B9 r& g2 b. r7 B
编程操作java字节码的函数库。( p6 C+ G, W" n( Q( G+ c
0 d* r! q8 D' M V/ u( Q: V
* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。' q8 T* L- r/ u. c( H8 \
* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。1 @: n2 J4 x1 e
* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。) o- u5 x$ M- T( O3 K5 v# i M6 W
" ]# L+ p+ c2 W$ `* * * |
|