|
该用户从未签到
|
## 构建
9 }. L4 Y0 b% a7 V9 y
# O' f8 f1 s- P9 F2 U( W这里搜集了用来构建应用程序的工具。
/ N: [7 I& C7 g. F
% `$ T0 f) Z7 W# k* b/ t% q9 P D* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。
/ S+ k x) ^9 `* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。
* T( d9 J1 y* `( k
5 |* T7 U" r; x7 j: g' O- k8 `* * *7 ^! H U9 ~8 w' W
4 B6 m/ p4 y4 I+ M a; @## 字节码操作
6 H" J; C. b* \& L" }0 x( _
1 j5 O5 h+ o! |: R, \; q编程操作java字节码的函数库。
* K: L# d8 N9 N' a' H
2 X3 H" Y3 y! A- e* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。
# d7 M; W4 G+ t% l4 s7 K7 F* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。
) |0 }# R, p. Q6 a! z* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。& ^9 B- o: D2 Q# v* r
/ O' {2 x7 ~0 j8 s: N5 c
* * * |
|