受 JAVA开放源码项目与工具在企业应用开发中的运用 这篇文章的启发, 便开始构建一个以开源项目为基础的java编程环境.
因此就有了这篇文章, 文章还有一些部分没有完成,以后会逐步完成。
如何用开源软件构建 java 编程环境
编译环境(jdk)
编译环境没有什么可讲的, 我只用过 sun jdk , 不知道其他的编译器用起来是什么感觉.
有兴趣的朋友可以用用其他的编译器, 再来分享自己的经验.
需要注意的是有时候你会需要用混淆器来编译项目, 由于 class 代码比较容易
被反编译为 java 代码, 为了保护自己(或公司)的果实, 有时候需要使用这种
工具. (当然对于开源项目就完全不必要了:))
提到了混淆器当然就要提反编译器了, 最著名的应该就是 jad 了吧. 假如你
想研究别人的代码却又得不到源码时, 这个工具还是非常不错的.
另外, 蔡学镛先生的"java夜未眠"中有篇文章: java 相关的编译技术.
编辑环境(vim)
我对 ide 环境的感觉不太好. 以前没有用过, 以后应该也不会用.
我最喜欢的编辑环境是 vim. 它真的是一个非常强大的编辑器, 这一点已经有
无数的人证明过了, 就不用我罗嗦了:)
使用 vim 编辑 java 文件需要两个方面:
项目管理(ant)
ant 是个基于 java 的构建工具, 配置 ant 就是配置 build.xml 这个 xml 文件,
配置好后, 它就会替你完成许多任务, 特别有些任务很烦琐.
代码检查(checkstyle)
程序员一般都有自己的编码风格, 但是现在是一个强调团队而不是英雄的时代, 所以
代码风格的一致性是非常重要的, 我们免不了要查看别人的代码, 自己的代码也免
不了要给别人查看. 至少, 在同一个团队中能保证代码的一致性, 这样会让我们在处理
任意代码时都感觉是自己写的一样. checkstyle 帮我们实现了这一点, 只要你在编码
时坚持用它来检查一下.
在 ant 的使用文章中提到了如何与 checkstyle 集成.
单元测试框架(junit, httpunit, cactus..)
程序编写完以后就要进行测试(这里主要指的是单元测试).
进行单元测试是一般程序员不愿意做的事, 不过这个事情真的很有用.
这里给大家介绍几篇文章:
应用JUnit实施单元测试
文章介绍了测试的概念及如何使用 junit, 还有 junit 最佳实践
怎样使用Junit Framework进行单元测试的编写
文章介绍了编写单元测试的原则及如何进行
JUnit Test Infected: Programmers Love Writing Tests
junit 的文章
使用HttpUnit进行集成测试
介绍怎么使用 httpunit 的文章, 找 sun 技术社区的那篇原创文章, 写得很明白.
关于 cactus 的使用, 网络上也有不少文章, 但是我还没有找到特别好的文章.
调试环境(JSwat)
测试失败后往往需要调试看看了. 上次漏掉了这个部分, 其实对于调试部分我没有
太多的经验, 以前的调试大部分建立在输出的基础上完成的.
不过在调试过程不容忽视, 有一个开源的软件: JSwat 能够满足大部分的调试要求,
可以在这里找到它.
代码版本控制(cvs)
代码的版本控制十分重要, 有了这样一个代码库, 硬盘突然崩掉也不怕了:)
介绍安装使用的文章不可胜数.
这里是我的安装过程简叙.
这里是简单使用说明.
这里是 cvs 手册.
bug 跟踪(Bugzilla)
Bugzilla是一个bug追踪系统,用以管理bug提交、bug消除,不仅能降低同样错
误的重复发生,提高开效率,而且有助于项目管理的难度。(摘自竹笋炒肉)
更重要的, 它是一个开源软件:)
这里是我写的简易安装步骤.
这里是它的使用说明.
压力测试(Jmeter)
软件部署以后往往就会有执行效率上的要求:
程序耗费多少的系统资源? 需要用什么样的服务器来支撑? 等等
使用 Jmeter 可以告诉你一些数字及图表, 可以判断软件的负载能力
使用 weblogic 的 JRocket 运行环境则能够得到软件运行时对系统资源的使用信息.
中间工具
java 的中间工具有很多, 著名的是各种的 j2ee 容器, 各种应用框架及各种
数据持久化方案. 这里列出一些著名的, 以便查找.
工具 资源 JBoss JBoss Resin Resin Tomcat Tomcat Struts 中文专题 Cocoon Cocoon Spring 中文论坛 Hibernate 中文论坛
HTML 转换程序: TeX2page 2004-09-11