该用户从未签到
|
## 构建
- ?1 m8 x% Y" {
' ?; ]2 y! d8 `; W这里搜集了用来构建应用程序的工具。
0 A4 |4 w0 O" u- f" u
/ H* T8 ~5 z3 O) l) ^& }: |: m* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。
# p) Q0 @8 h9 n. ]# \+ ]* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。' u1 ]) ] n& `% x. i g- q5 R
7 t7 T& X# y" f' B6 H* * *
6 Z( _) \! D. ?+ `7 V+ d
: Z' a4 F3 ~% G/ V2 M## 字节码操作/ Q9 C8 m& V7 h
# G" n! Z) ~6 n* h* g- P编程操作java字节码的函数库。+ h4 L* o, ?, h7 f8 A9 h
$ o! B! N% @8 |9 d4 @
* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。5 e7 a p5 c/ \) {; H+ h3 }" _
* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。
2 z$ z. T0 g- `+ [1 o* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。1 ~' |" J1 B+ W5 E/ _- r6 {) r
+ }8 m" |6 |" D1 \* * * |
|