自读开源项目问题之123
引言:
?
??? 我们学习java技术,总免不了有个自己阅读一些开源项目的过程。下载运行这些项目,比较常见的问题大体有这么几个:
?
??? 1,下载地址(英文水平vs不和谐的网站下载设计);
??? 2,下载后怎么导入IDE(比如eclipse);
??? 3,排叉;
??? 4,运行时面对更复杂的环境搭建(DB,C\S部署等)。
?
??? 本文主要就以上几个要点性问题,做以简单介绍。
?
正文:
?
??? 回顾引言中提到的4个问题,以下对每一个进行介绍。
?
??? 1,下载。
?
??? 找开源项目时,中文网站就不说了。如果必须从英文网站获取,就不得不搜英文网站了。面对的网站无论是风格、布局,还是网站地图设计,一些英文水平不强大的朋友难免有些头痛。甚至有些网站存在“121链接”,点着点着就懵了~。=(笔者也是这么过来的>。<)。
?
??? 就这一点,最主要的还是要提升个人英文水平。除此之外,向大家推荐几个开源网站,有带字典空常翻翻,熟悉了看不懂也会下了。列表如下(按建议优先顺序排列):
?
??? A)阿帕奇:http://apache.org/ (或http://wiki.apache.org/general/)
??? 右上角是查找功能。比方说想找找有没数学计算方面的开源项目,我们输入个“math”。随后页面会跳转至google搜索,显示几条有关math的开源项目地址。点击第一个链接,便可进入这个开源项目的信息网页。
??? 有关网站页面的布局,已包含至文尾的下载包中。引处请参考图“common_math_download.jpg”,其中A为下载,B为源代码,C为文档位置。

??? B)Java开源大全:http://www.open-open.com/
??? 中文开源整理网站,不多说了。
?
??? C)SourceForge:http://sourceforge.net/
??? 在左侧列表块可以选择Java, windows等选项进行筛选。右边列表提供了直接下载的绿色按钮“download”即可。这个网站最大的亮点是收录比较全。
?
??? 如果大伙有发现其他好用的开源网站欢迎跟贴,对您的分享精神表示感谢!
?
??? 2,下载后导入IDE。
?
??? 这块也问题最集中的地方。要解决这块的问题,最重要的是了解项目提供了哪些部署支撑(或者是项目使用了哪些管理工具)。比较常见的大体有以下几种:
?
??? A)Ant。
??? 很经典的一个项目自动化工具,语法简洁,功能强大。可以在本机安装Ant客户端(或配置免装包),执行Ant的脚本,创建项目结构。然后用eclipse创建一个同类型的,直接以File System形式导入。
??? 找书的话可以参考一下《Ant权威指南》,特点是简要、单薄、易懂。
?
??? B)maven。
??? 比较时尚的项目管理工具。最大的特点是太方便了!支持maven的项目,在每个项目(或子项目)下都可以找到一个pom.xml。首先在本机安装maven(或者配置免装包),将命令行当前目录调到pom.xml所在目录,执行“mvn eclipse:eclipse”。然后用eclipse直接导入即可。
?
??? C)其他Eclipse简单支持的形式。
??? 比如*.jar等归档文件。用eclipse直接从源代码创建项目即可。要说的是找找Readme可能会有更多收获。
?
??? 3,排叉。
?
??? 一般排叉包括以下几项。
?
??? A)类型不能识别。
??? 问题:项目引用丢失,缺包,包冲突,版本异常。
??? 解决:首先,建议打开eclipse的 Window | Show View | Problems 视图。将列出的红叉信息拷到搜索引擎去查询,大半会有说明。(另外网站或文档说明中,可以看到项目引用的包清单,用以对比。)
???????????? 其次,如果无说明,请先检查项目中的包是否都被引用。BuildPath下检查一下有没未引用的,引用进去。
???????????? 接着,如果是maven项目,可以BuildPath下建一个Add Variable项(比如M2_REPO),并将此指向相应Jar包资源位置(一般是当前户Application下的.m2文件夹下)。
???????????? 冲突,如果搜索引擎查不到,就只能按说明去搜索全项目(包括Jar包)查找-解压-试删,重复至解决。
?
??? B)注释乱码。
??? 主要存在于有非英文字符的项目中。解决方式是修改项目的编码(特别注意,有两处,网上可查得)。
?
??? 4,运行环境搭建。
?
??? 让一个维护得很给力的项目跑起来是瞬间的事,但是让一个复杂的(或者项目管理工具采用说明文+意识流的——逼视一下。)项目跑起来还是得花点功夫。主要难点区分j2se和j2ee项目结构特点,区分库支撑实现,这块比较复杂。随后笔者将抽时间再做整理。无库项目跑不起来的时候,可以先跑跑单元测试看看效果,阅读代码也是一个不错的折衷做法。
?
?
??? 最后,要说明的是,看源代码要坚持(以后略去本想说的4个字,以突出坚持的重要)。刚开始慢是——必须的。但代码、思维提升也是最快的。毕竟平时编写代码很少会去探索别人犀利的思路,特别是,那些牛人的。
?
??? 笔者,菜鸟也,有误或表达不清之处,欢迎指正探讨。
?
?
?
?
1 楼 zhaoningbo 2011-09-01 分享两个下Jar包的网站: