该用户从未签到
|
## 构建
T- v e7 a2 ^9 _# D7 [& d. {& I0 n
这里搜集了用来构建应用程序的工具。
" I: P2 n$ z$ n- Q# m8 \
/ j8 Q. y4 _/ J* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。
% m: p0 P+ {, {; O8 Z- m. G8 S. l* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。
5 e5 ~# g* W0 w& n
3 ~# b( d" ?: R* \1 W* * *6 `& g2 V, R+ f
6 v6 U, K% D6 v# H0 v& D- w! a! B## 字节码操作0 J; B* {, \. C& \) N, J
4 M9 f* l% u& d" d$ P* M }% g
编程操作java字节码的函数库。! b% R L& s' p3 {* d; a6 m! b* i
3 w! j* d0 d. C# \9 N1 X, Q* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。$ _! Z7 Y$ Q/ `4 S
* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。
5 o) H; V: p& |; H2 f* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。! \/ l% q5 t' A6 V, P* f
& T4 N8 ]( ]+ ^% \) N* * * |
|