,上面简单介绍了一下Apache Jakara项目下的各个子项目。一直以来,都是只关注其中的一些项目却对其他的项目视而不见。呵呵,这个习惯不好。好吧,一起来看看Jakara里都有一些什么好东东,顺便作一下知识储备,或许以后哪天便要用到这些工具,避免费了大力气重复造了轮子还不讨好。
项目 <o:p> </o:p>
|
子项目 <o:p> </o:p>
|
介绍 <o:p> </o:p>
|
<st1:place w:st="on"> <st1:city w:st="on"> Jakarta </st1:city> </st1:place> <o:p> </o:p>
|
BCEL<o:p></o:p>
|
The Byte Code Engineering Library, 让使用者能够方便地分析 , 创建和操作二进制得 class 字节码 , 如果想学习虚拟机和 class 文件内容 , 这应该是一个好工具 ,BCEL 有一个字节码得校验器 , 叫做 JustIce, 通常他能够提供比 JVM 更全面的类的信息 . 他已经用在许多的编译器 , 优化器 , 代码生成器和代码分析工具中 . <o:p> </o:p>
|
BSF <o:p> </o:p>
|
Bean Scripting Framework, 它能够提供 Java 语言的脚本支持 , 能够从 Script 脚本中访问 Java 对象和方法 ,BSF 允许 JSP 访问 Java 类 , 它还可以通过内含的方式让任何语言部分地实现 Java 的接口 , 这主要是在 Java 中提供脚本引擎来实现的 .BSF 支持以下的脚本语言 :JavaScript( 如 ajar),NetRexx,Python,JRuby,Groovy 等 . <o:p> </o:p>
|
Cactus <o:p> </o:p>
|
它是一个服务器端代码的简单测试工具 , 如测试 (Servlets, EJBs, Tag Libs, Filters, ...). 它是为了降低服务端测试代码的编写工作量 , 使用了 JUnit 并进行了扩展 .Cactus 实现了容器内测试的策略 , 测试都在容器内部进行 . 它相对于单元测试的优点 :<o:p></o:p>
代码逻辑单元测试 , 做这个测试最好的是 Mock Objects.
集成单元测试 .<o:p></o:p>
功能性的单元测试 , 能够测试服务端的返回值 . <o:p> </o:p>
|
Commons<o:p></o:p>
|
主要关注于组件的可重用性 , 它又分为 3 个大的部分 .<o:p></o:p>
已发布的的组件 ( The Commons Proper )<o:p></o:p>
开发中的组件 ( The Commons Sandbox )<o:p></o:p>
暂时停止开发的组件 ( The Commons Dormant )<o:p></o:p>
开发小组尽量让其开发的组件对其他组件的依耐性最小 . 并且尽量保持组件的接口的稳定性 .<o:p></o:p>
|
The Commons Proper <o:p> </o:p>
|
Attributes <o:p> </o:p>
|
让开发者可以使用 C# 或 .net 样式的 attributes, 是一种运行时的 api, 有点类似 doclet. <o:p> </o:p>
|
Beautils<o:p></o:p>
|
和标准 JavaBean 使用有关 , 可以用来拷贝 JavaBean, 使用了反射和内省 , 大量地被使用 .<o:p></o:p>
|
Betwixt<o:p></o:p>
|
能够在 JavaBean 和 XML 之间互相转换 <o:p> </o:p>
|
Chain<o:p></o:p>
|
责任链模式的一个实现 <o:p> </o:p>
|
CLI<o:p></o:p>
|
命令行参数解析 , 由 Werken, Avalon 和 Optz 组成 <o:p> </o:p>
|
Codec<o:p></o:p>
|
编码 , 译码运算法则 ,phonetic( 语音 ), base64, URL 等 <o:p> </o:p>
|
Collections<o:p></o:p>
|
扩展了 java.util.collection 接口 <o:p> </o:p>
|
Configuration<o:p></o:p>
|
用不同的格式读取配置文件 <o:p> </o:p>
|
Daemon<o:p></o:p>
|
在 unix 下的选择调用机制 <o:p> </o:p>
|
DBCP<o:p></o:p>
|
数据连接池服务 , 使用于任何数据库 <o:p> </o:p>
|
DbUtils<o:p></o:p>
|
JDBC 辅助类 <o:p> </o:p>
|
Digester<o:p></o:p>
|
XML 文件到 Java 对象的映射机制 <o:p> </o:p>
|
Discovery<o:p></o:p>
|
<o:p> </o:p>
|
EL<o:p></o:p>
|
JSP 2.0 中的表达式语言解释器 <o:p> </o:p>
|
Email<o:p></o:p>
|
用 Java 发送邮件的库 <o:p> </o:p>
|
FileUpload<o:p></o:p>
|
让 Servlet 和 web 应用具有文件上传的能力 <o:p> </o:p>
|
Http Client<o:p></o:p>
|
和 http 协议客户端一起协作的框架 <o:p> </o:p>
|
IO<o:p></o:p>
|
I/O 框架集合 <o:p> </o:p>
|
Jelly<o:p></o:p>
|
基于表达式和处理引擎的 XML<o:p></o:p>
|
Jexl<o:p></o:p>
|
是对 Jstl 的一种扩展 <o:p> </o:p>
|
JXPath<o:p></o:p>
|
用 XPath 语法访问和操作 JavaBean<o:p></o:p>
|
Lang<o:p></o:p>
|
扩展了 java. lang 包 <o:p> </o:p>
|
Launcher<o:p></o:p>
|
提供多平台的 Java 程序加载 <o:p> </o:p>
|
Logging<o:p></o:p>
|
提供日志的实现 <o:p> </o:p>
|
Math<o:p></o:p>
|
轻量的 , 独立的数学和统计组件 <o:p> </o:p>
|
Modeler<o:p></o:p>
|
创建符合 JMX 规范的 MBeans 机制 <o:p> </o:p>
|
Net<o:p></o:p>
|
网络和协议实现的集合 <o:p> </o:p>
|
Pool<o:p></o:p>
|
对象池组件 <o:p> </o:p>
|
Primitives<o:p></o:p>
|
java 简单类型使用的扩展 <o:p> </o:p>
|
SCXML<o:p></o:p>
|
<o:p> </o:p>
|
Transaction<o:p></o:p>
|
处理多级事务的集合 <o:p> </o:p>
|
Validator<o:p></o:p>
|
使用 XML 定义验证规则的框架 <o:p> </o:p>
|
VFS<o:p></o:p>
|
虚拟文件系统 <o:p> </o:p>
|
The Commons Sandbox <o:p> </o:p>
|
Compress<o:p></o:p>
|
定义操作压缩文件的 API<o:p></o:p>
|
CSV<o:p></o:p>
|
CSV 文件的操作 <o:p> </o:p>
|