该用户从未签到
|
## 构建
. |8 a- a- i3 H# ^. V7 z" L- ?9 [% H2 Y: [$ t
这里搜集了用来构建应用程序的工具。% u3 y0 j7 R# n z: _
( P- y" ?, s$ E
* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。
, ^; ?' ]4 F" r: g) h q* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。6 {! z9 V5 f8 q9 j& W, N
$ @/ I) r& ]3 H7 c. P. x% |0 |5 I' L* * *' _0 |% D U# k6 E* O) h
( P' Z+ Q! k& N, `
## 字节码操作# o# J# Z8 Q% \
/ E9 j& ?4 N. h o @; Z3 y4 Y
编程操作java字节码的函数库。
* U' `8 j- l) W' Q& M, t) P5 r6 l
4 [0 n# m: |, r5 v s/ u* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。! Y# d1 j) J' f9 n s5 v
* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。
& P# w8 G. {/ x1 _) `* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。
! E$ m& R! p, |+ j( G* \( m9 K5 E3 S$ j* [
* * * |
|