该用户从未签到
|
## 构建
1 ^8 K& ]/ Z$ s' {3 s" |1 ~, Y3 i; p+ C. ~" K
这里搜集了用来构建应用程序的工具。* n4 O1 Y' N* d6 \7 `4 N v
' R, ~- g. b, u5 I5 X) x* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。
, N/ c j& @$ P, j- b* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。, q% q5 s& ^4 Q
! y4 h" `. ~. F3 Z2 b5 I3 f! Y
* * *
% y1 |. V; e! E6 }5 g
0 `% q# a6 U7 O8 ]7 J4 t* Z## 字节码操作
{& [2 t4 ~ m; y6 G' }
, ]6 G9 w2 z1 T: }! l' ]! X) A* ?6 x# Q编程操作java字节码的函数库。8 c+ D: s/ q' w" {
/ b6 H) P ^9 q" ] I- L* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。
1 y7 V5 ]' b8 X+ e& n) _8 r, J* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。
6 k0 |' k- d2 K$ V- J* p, Q+ p/ V# t3 t* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。( U% i1 w2 r' P# X
* h" D) W, {* G/ E8 i* * * |
|