引言:
我们学习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个字,以突出坚持的重要)。刚开始慢是——必须的。但代码、思维提升也是最快的。毕竟平时编写代码很少会去探索别人犀利的思路,特别是,那些牛人的。
笔者,菜鸟也,有误或表达不清之处,欢迎指正探讨。
- 大小: 61.1 KB
分享到:
相关推荐
开源项目“noypi-future.zip”是一个基于Golang语言实现的未来(Futures)库,旨在为Go编程提供一种异步编程模型。Futures是计算机科学中的一个概念,它代表了一个异步计算的结果,允许程序员在计算完成之前进行操作。...
在描述中提到的“开源读屏软件”是一个开放源代码的项目,意味着它的源代码对公众开放,任何人都可以查看、修改和分发。这样的特性使得全球的开发者社区能够共同参与改进软件,推动技术创新,并且降低了用户和组织的...
总的来说,NVIDIA的NVDLA开源项目提供了一套全面的深度学习加速器设计,其文档通过ReST和Sphinx构建,便于理解和定制。对于想要进入AI硬件开发或者对低功耗深度学习解决方案感兴趣的开发者来说,这是一个宝贵的学习...
【标题】"聊天机器人开源项目iChat"是一个专为快速部署聊天机器人而设计的应用工具,其特点是开源且便于开发者进行定制和扩展。该框架主要由两个核心组件构成:基于Python的服务器端框架iChat和基于Java的客户端...
适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习等。 项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 可放心...
开源项目“Allegro BigCache”是一个专门为Go语言设计的高效缓存库,它能够处理高达千兆字节(GB)级别的数据。这个项目的主要目标是提供一个内存中缓存解决方案,以支持大规模数据的快速读取,同时保持低延迟和高...
开源项目“ry-deno.zip”是一个基于V8引擎和Go语言构建的安全型脚本运行时环境,名为Deno。这个项目由Ryan Dahl,也就是Node.js的原始作者创建,旨在解决Node.js的一些已知问题并提供更现代、更安全的JavaScript和...
作为开源项目,TestDeep有活跃的社区支持,用户可以在GitHub上找到项目的源码,提交问题或贡献代码。 10. **文档**: 详细的文档是该项目的一个亮点,它提供了丰富的示例和说明,帮助用户快速上手并充分利用...
此外,由于是开源项目,用户还可以参与到代码的改进和优化中,向项目贡献自己的代码,或者在遇到问题时查看项目维护者的提交历史以寻找解决方案。开源社区的支持使得这类项目具有更高的可持续性和适应性,可以根据...
6. **贡献指南**:对于开源项目,可能会有指导如何向项目贡献代码或报告问题的文档,鼓励社区参与。 7. **安装与配置**:可能有README文件或INSTALL文件,详细说明如何在本地环境中安装和设置 Liquid 库。 通过...
【标题】"开源项目-mdp-PlaneBoard.zip"是一个基于开源技术的项目,其核心功能是利用DNS TXT查询来获取并展示用户的Twitter时间线。这个项目可能是为了提供一种创新且可能更安全的方式来浏览社交媒体信息,因为DNS...
### 一、开源项目的定义与价值 首先,我们需要明确开源项目的定义。开源软件是指遵循特定许可协议发布的源代码,允许用户自由查看、修改和分发这些代码。开源项目的价值不仅体现在技术层面,还体现在社区建设和创新...
视频演示如何玩转一个开源项目__如何运行+如何读代码__顺便讲讲IDEA和Spring_Boot__Java_Python_C语
这里是利用DCloud公司产品做出的开源项目集锦。 注意,所有开源项目并非全部托管在当前工程下,点击如下开源项目,会自动跳转到对应代码托管地址。 资讯类 新闻阅读器 开发者新闻APP 红旅动漫 闪读看书 电商类 灰...
标题中的“开源类库读excel”指的是利用开放源代码的软件库来处理Excel文件,而描述则具体提到了一个名为Koogra的类库,它能够读取Office 2003的xls格式以及2007的xlsx格式,而且在使用过程中无需安装Microsoft ...
开源项目-tmc-log.zip是一个包含了源代码的压缩包,它主要关注的是日志记录功能的增强。这个项目,名为tmc/log,是基于logrus库的封装,目的是在日志输出时自动包含源代码的行号和函数信息,这对于调试和问题定位...
D:你所指的应该是P2P网贷系统,P2P网贷系统也是我们主营项目,之所以有的版本功能多,有的版本功能少,是因为原先开源项目定位不准,所以有 几个版本的升级主要放在了功能上面,但发现功能多了问题也多了。后来...
RC522开源门禁项目是一个基于RFID技术的智能门禁系统,它结合了RC522模块和STM32微控制器,通过SPI(Serial Peripheral Interface)串行通信协议进行数据交换,实现对门禁IC卡的读取与识别。这个项目为开发者提供了...
开源项目-jasonmoo-cryp.zip是一个包含名为cryp-master的开源软件项目,由开发者JasonMoo创建。这个项目的核心是提供一个简单的命令行工具,用于加密和解密数据,方便用户在终端环境中处理敏感信息。下面我们将深入...
C# 读写欧姆龙PLC Fins,C#读写Omron PLC 全开源项目 使用一个开源的技术来读写欧姆龙PLC数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的...