`
zhaoningbo
  • 浏览: 610150 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自读开源项目问题之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为文档位置。

common_math_download.jpg

    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
1
1
分享到:
评论
1 楼 zhaoningbo 2011-09-01  
分享两个下Jar包的网站:
http://mvnrepository.com/
最给力的下包网站(搜索时别带版本后缀;-0)

http://www.oschina.com/
比较方便,还是中文。

相关推荐

    视频演示如何玩转一个开源项目 |如何运行+如何读代码 |顺便讲讲IDEA和Spring Boot |Java/Python/C语言/C++项目均适用 |视频教程

    视频演示如何玩转一个开源项目__如何运行+如何读代码__顺便讲讲IDEA和Spring_Boot__Java_Python_C语

    DCloud开源项目集锦

    这里是利用DCloud公司产品做出的开源项目集锦。 注意,所有开源项目并非全部托管在当前工程下,点击如下开源项目,会自动跳转到对应代码托管地址。 资讯类 新闻阅读器 开发者新闻APP 红旅动漫 闪读看书 电商类 灰...

    Google 开源项目风格指南.pdf(C++,2017版)

    Google 开源项目风格指南中文版pdf 里面规定了google的C++开源项目的代码规范,是提高代码易读性和健壮性的重要参考资料。

    开源的项目计划工具

    类似msproject,可读msproject文件,支持中文,很好用

    教你用开源项目在自己服务器搭建一个个人博客

    原文地址:教你用开源项目在自己服务器搭建一个个人博客 本教程使用的开源项目为github上的:Halo 。仓库地址:https://github.com/halo-dev/halo 1.Halo简介 Halo 是一款现代化的个人独立博客系统,给习惯写博客的...

    开源项目:天气预报项目源码

    开源项目:天气预报项目源码

    JAVA上百实例源码以及开源项目

    两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟  用JAVA编写的指针式圆形电子钟,效果图如下所示,其实代码很简单,希望对你有帮助。 Message-Driven Bean ...

    JAVA上百实例源码以及开源项目源代码

    Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下所示,...

    Google开源项目风格指南 C++ 4.4.5 (2016) 最新中文版

    每个较大的开源项目都有自己的风格指南: 关于如何为该项目编写代码的一系列约定 (有时候会比较武断). 当所有代码均保持一致的风格, 在理解大型代码库时更为轻松. C++ 是 Google 大部分开源项目的主要编程语言. 正如...

    2020 OSCAR 云计算开源产业大会PPT合集.zip

    读懂最常用的三款开源许可证 金融行业开源解决方案探索 开源安全与合规治理的落地与挑战 开源法:知识产权、许可证及案例 开源共同体评估框架概述 开源合规的理解与实践 开源开放,打造云与计算产业新生态 开源软件...

    谷歌开源项目Python风格指南与编写简洁可读代码的建议.zip

    适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习等。 项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 可放心...

    基于整洁架构搭建的个人IM开源项目

    基于整洁架构搭建的个人IM开源项目,通过Netty实现和前端websocket连接。内含有登录,成员列表,联系人, 群组,群组成员,好友,好友分组,黑名单,消息记录,消息撤回,消息已读,消息点赞,还有很多小轮子项目 ...

    java开源包6

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包9

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    P2P开源网贷系统DswjcmsP2P开源网贷系统.zip

    D:你所指的应该是P2P网贷系统,P2P网贷系统也是我们主营项目,之所以有的版本功能多,有的版本功能少,是因为原先开源项目定位不准,所以有 几个版本的升级主要放在了功能上面,但发现功能多了问题也多了。后来...

    java开源包8

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    MIT开源协议,多端适用的租房小程序,带完整的管理员后台

    在项目快完成的时候,介绍的那个人跑路了,所以就没有后续了,想着与其直接删除还不如开源分享给大家一起讨论学习。 这个项目的经历也让作者明白了一些事情,就是如果别人委托自己帮做项目的时候,不管项目的规

    java开源包10

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

Global site tag (gtag.js) - Google Analytics