该用户从未签到
|
## 构建+ N' J6 a8 U& L+ m
: @7 {6 e8 G/ C' M4 v这里搜集了用来构建应用程序的工具。4 X! a$ P! C( R0 n
" @& ?4 X" F$ ?; V
* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。 _. \- b. X' [7 \1 \* h$ j
* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。1 p Q2 o9 J' E, T" D
" |# ?! x. }- W+ |
* * *
/ M0 d1 M: c( O4 \2 Q- Z( M: b7 L9 N6 u2 i
## 字节码操作8 K" c9 d' ]: Z' S# d- c
* G! A" c d+ y$ W; x
编程操作java字节码的函数库。0 {+ W5 w# V) @
4 ~3 [) d A! y4 c5 i) ^2 @+ _! J
* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。, f0 i0 b! @0 ?) O2 e1 a+ K$ X6 i* C `
* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。
8 O* M7 Q, M e* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。7 D* g* @) Y/ |# j) m6 ?
& D- ?' K1 `6 S5 @
* * * |
|