该用户从未签到
|
## 构建
9 U9 O6 n Q; t6 H S( A
8 ?& H9 ?2 m! s2 t2 \$ ~这里搜集了用来构建应用程序的工具。# z' ]% ~1 [2 L8 I) U4 t, _/ A
0 Z( }+ Z4 p; H, j; W5 H
* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。; f. V* t( k- x2 K$ B: u( A7 e
* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。# n- O. C# |4 V8 \& f1 S% l
: Z4 z+ c1 u, T
* * *
) h( B* `+ K! _9 v8 ]( U! x
- ?$ y" {( N" i" l( n7 d## 字节码操作: a* _5 Q4 v9 [9 d# W( F
( p. r' T3 A# _, `+ ]6 a编程操作java字节码的函数库。; a8 o# y+ D7 W) o6 E
# q. I! T0 L9 {) z5 C* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。
8 D7 {* r* W) T7 M* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。) Q( q+ L- N$ M' q# Z0 \* W
* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。- b' o$ D1 D. m, n3 U
* D" X! e& n* B R0 A; f
* * * |
|