|
该用户从未签到
|
## 构建
; f# J9 Z! ~% s: h, N% W/ _9 n; {8 Y$ |- ]8 i
这里搜集了用来构建应用程序的工具。9 W6 q! v/ w, P4 G" D7 `
- i8 n5 x9 e) P6 D8 y7 {& ^) U
* [Apache Maven](http://maven.apache.org/):Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。8 U; E) ~% A$ l! s
* [Gradle](http://www.gradle.org/):Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。. Q. Q9 _) R e% X$ i; |& h7 b
5 ~) B+ e0 i% |+ H& x
* * *: n- [ U' p- W6 c0 X9 C2 B U8 b. h, y
+ a4 I3 g' {! W3 j## 字节码操作
! ?7 i& M6 u) D' D9 s y) B# N! S" I/ `
编程操作java字节码的函数库。. o$ J% n5 ?2 B- H# _
: C8 J4 b) y. U: B+ W' u
* [ASM](http://asm.ow2.org/):通用底层字节码操作及分析。
" _7 O" S, R( J0 x* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/%7Echiba/javassist/):尝试简化字节码编辑。1 { P9 n' I+ Q
* [Byte Buddy](http://bytebuddy.net/):使用“流式API”进一步简化字节码生成。: Y& h: i9 u3 _8 q
0 G* p6 m' ]3 B4 R* * * |
|