`

Apache上全部JAVA开源项目简介

 
阅读更多
Apache上全部JAVA开源项目简介

百度百科:http://baike.baidu.com/view/371811.htm
Apache包集合:http://apache.oregonstate.edu/

Ant ——java构建工具,使用一个配置文件就可以完成java的项目的,编译、打包、测试、运行、部署、生成文档等诸多工作。
Avalon ——是一个包括核心框架、工具、组件和容器的面向组件编程(AOP)的完整开发平台。使用关键设计模式,如反向控制模式(IoC)和分离考虑模(SoC)。 Avalon提供各种基本组件和缺省的应用程序模块,帮助你快速的建立你自己的应用程序解决方案。
Excalibur ——集多个开源项目(Avalon Framework、LogKit和Cornerstone)于一身的轻量级可嵌入式反向控制容器。
Gump ——是Apache组织自己也使用的一个持续集成工具,全面支持Ant和Maven,当有新的改动提交到版本控制系统,它可以检查出潜在 的冲突,并及时通知项目组的所有成员并自动生成改动的详细报告。
James ——是一套用java开发的邮件、新闻组、消息服务器,提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储。 支持 SMTP, POP3 , NNTP , IMAP 。
Logging ——可靠,快速的日志工具。
Lucene ——Java开发的高性能,全方位的文本搜索引擎。替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高, Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外, 是最重要的是使使用者可以随时应自已需要自订其功能。
Maven ——是一个潜在的基于java的apache ant的构建工具的替代者。提供了更强大的功能和易用性。
Portals ——提供了功能全面的、具有商业价值的企业门户。门户概念:门户对企业内的各种资源如信息管理系统进行整合并通过单一接口 对外提供服务,雇员、合伙人及顾客可以通过任何装置在任何地点通过门户入口享受到企业提供的服务, 分析家们预计,门户将成为下一代的桌面环境。
Struts ——一个实现MVC model2的web应用程序开发框架。通过一个配置文件可以很好的对各种组件进行装配,结构清晰,应用的最广泛的额web开发框架。
Tapestry——类似 Struts,也是一个基于servlet的应用程序框架,支持MVC,出现的较晚,不如Struts普及,主要利用javabean和xml技术进行开发,
Tomcat ——Serlvet容器,同时具有传统的Web服务器的功能,如:处理Html页面。能够处理动静态网页。
Watchdog ——用来检查一个servlet或jsp容器在相应规范上的执行情况的兼容性。但是该项目已经静止了,只支持Servlet2.3、JSP1.2,相应 的Serlvet容器如Tomcat也只支持Tomcat4.x。

下面介绍下Jakarta的各个子项目:

Alexandria——已经不再开发
BCEL ——The Byte Code Engineering Library (formerly known as JavaClass) 字节码引擎类库,它让用户方便的分析,创建,操作java的class文件成为可能。 它可以让您深入 JVM 汇编语言进行类操作的细节。
BSF ——bean脚本框架 在java应用内对脚本语言提供了支持,通过脚本语言可以访问java的对象和方法。
Cactus ——一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。 Cactus单元测试服务端内容包括servlet,EJB,? tag librarie, filter等
Commons ——提供很多日常开发中使用率很高的功能解决方案,已被很多著名的开源项目采用。具体的项目列表后面会有。
ECS ——使用Java语言和面向对象方法创建标记语言文档(HTML,XML)的开源项目。
HiveMind ——是一个服务和配置的微型内核, 一套通过简单的java对象和接口创建复杂应用的框架。
HttpComponents ——提供了java.net包所不能提供的更多强大的、方便的http协议处理功能。
JCS ——一个分布式的缓存系统,用来提高应用程序的性能,并且提供很多强大的额外功能。
JMeter ——纯java开发的一套桌面应用程序。用来进行功能测试和性能测试。它可以用来测试静止资料库或者活动资料库中的服务器的运行情况, 可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗,或者用来分析不同负荷类型下的所有运行情况。 它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
ORO ——一套文本处理工具,能提供perl5.0兼容的正则表达式、 AWK-like正则表达式, glob 表达式。还提供替换,分割,文件名过虑等功能。
POI ——一套用来创建,读写基于OLE 2组件文档格式的文件。使用Java来读写MS Excel ,Word文件。
Regexp ——一套纯java的正则表达式相关的包。
Slide ——主要模块是一个可以做为内容管理框架底层的内容仓库.它可以把内容信息存取到专门的,异质的,分布式的数据库中.Slide还增加了security, locking, versioning等特性.
Taglibs ——一套在开发web应用时十分有用的,jsp 通用 tag包。
Turbine ——类似 Struts,也是一个基于servlet的应用程序框架,支持MVC。提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。
Velocity ——是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。? 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点, 也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。 Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利, 同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域, 例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告, 或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。 Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。?
Apache java项目全介绍2
下面介绍一下Jakarta下的Commons:一个csdn网友描述得很贴切,Commons就好比一个java百宝箱。
commons分为3部分Commons Proper、Commons Sandbox和Commons Dormant
Commons Proper:提供了设计良好可重用的java组件,并都经过了广泛、严格的测试。
Commons Sandbox:处于实验、测试阶段的组件。
Commons Dormant:处于停滞状态,从Sandbox退出的,不活跃的组件,谨慎使用。

Commons Proper组件:

Attributes—— 支持源代码级的元数据。
BeanUtils——提供对 Java 反射和自省API的包装,处理javabean的工具。
Betwixt——将JavaBeans与XML相互转换。?
Chain——对Chain of Responsibility(责任链)设计模式的实现。使多个对象都有机会处理请求, 从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。
CLI——处理命令行的命令的解析。
Codec——包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder。
Collections——扩展和增加标准的 Java Collection框架。
Configuration——操作各种格式的配置文件。Properties文件 /XML文件 /JNDI /JDBC 数据源 /System properties /Applet parameters / Servlet parameters
Daemon——创建类似unix守护线程的java代码,可以安全地执行一些后台操作,线程不被某个应用程序控制,而是由操作系统控制 类似windows的service,可以设置一个服务依赖于另一个服务,一个服务关闭前必须先执行另一个服务。
DBCP——一个数据库连接池
DbUtils——一个JDBC的工具类,比如可以将ResultSets生成javabean。
Digester——基于规则的XML文档解析,主要用于XML到Java对象的映射.
Discovery——提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。
EL——JSP 2.0引入的表达式
Email——处理e-mail
FileUpload——web应用中的文件上传组件
HttpClient——使用HTTP协议的客户端开发框架
IO——帮助进行IO功能开发
Jelly——Jelly能够把XML转换成可执行代码,所以Jelly是一个基于XML与Java的脚本和处理引擎。 Jelly借鉴了JSP定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly可以用在命令行,Ant或者Servlet之中。
Jexl——Jexl是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。
JXPath——使用XPath语法操作javabean的工具。
Lang——提供对java.lang包的扩展。?
Launcher——跨平台的java程序的启动
Logging——提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。 它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,进行了简单的包装,此接口更接近于Log4J和LogKit的实现.
Math——Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题.
Modeler—— 支持兼容JMX规范的MBeans开发。
Net——集合了网络工具和协议工具的实现
Pool——Commons-Pool 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实现。
Primitives——对java原始类型的支持。
SCXML——处理SCXML
Transaction——事务处理,实现了多层次锁、事务集合、事务文件的访问。?
Validator——提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。
VFS——访问各种文件系统,可以是本地文件、HTTP服务器上的文件、zip中的文件。
Commons Sandbox组件:

Compress——处理压缩文件如tar, zip 和 bzip2 格式。
CSV——处理CSV文件
Exec——安全地处理外部进程
Finder——实现类似UNIX find命令的功能
I18n——处理软件的I18n功能
Id——生成id号功能
Javaflow——捕捉程序运行状态
JCI——java编译接口
OpenPGP——处理加密方法OpenPGP.?
Pipeline——处理类似工作队列的管道工具
Proxy——生成动态代理

Java开源-Apache组织的所有开源项目
来自Apache的开源项目(按字母顺序排序):

  Ant:Ant现在已经是任何IDE都集成的编译工具了。为了编译一大堆java源代码文件,需要一次次的在命令行敲重复的命令,Ant便是让你编写命令脚本,然后让Ant自动完成复杂的编译工作,类似于Makefile,但Ant脚本是标准的XML格式,更容易编写和阅读。事实上,巧妙地使用Ant,您可以让Ant自动完成编译,测试,输出文档,生成Release版本等一系列任务,使得整个项目流程自动化。

  Commons:Commons包括一组可重用的Java组件,如BeanUtil,Collections,FileUpload,Validator等等。

  Jetspeed:Jetspeed是开源的企业门户应用框架。支持JSP,Velocity,XML,RSS,WAP等,即将支持Java Portlet API规范(JSR168标准)

  JMeter:JMeter是100%纯Java编写的压力测试工具,最初专用于Web应用的压力测试,现在还可以测试文件系统,数据队列,FTP服务等其他应用。JMeter模拟多用户同时向服务器发送请求,并将结果以图表的方式显示出来,使用非常简便。

  Log4j:看名字就能猜到,Log4j是专门为Java设计的日志服务。Log4j提供非常方便的分等级的日志记录,可以输出到屏幕,文件甚至是NT的日志系统,特点是速度非常快。如果您留意的话,可以看到很多Java项目早已集成了Log4j,如Eclipse,Tomcat,Spring等等。

  Lucence:Lucence是一个高性能的全文搜索引擎,可以非常容易的把它集成到您的应用中来。Lucence的发起人就是搜索领域的一位专家,曾在Excite任职。

  Taglibs:Taglibs是一组自定义的JSP标签库。JSP标签能以简单的标签来实现页面功能但避免了嵌入Java代码,不过JSP标签编写比较困难,好在Taglibs提供一系列标签,几乎能满足您的常见需求。

  Tapestry:Tapestry是类似于JSP,Velocity的视图技术,提供一个完整的框架让您不必使用JSP也能实现动态页面。


  Tomcat:Tomcat是最著名的开源Web服务器,最新版本5.5支持Servlet2.4和JSP2.0,最适合于构件Java Web应用。

  Velocity:Velocity是类似JSP的另一种动态页面,特点是标签更简单,能直接写在HTML中,并且不能嵌入Java代码,强迫您只能在Velocity页面中渲染结果而不是处理业务逻辑,以便更清晰地划分MVC结构。

分享到:
评论

相关推荐

    apache优秀Java开源项目源代码—— apache-roller!

    Apache Roller是一款功能强大的开源博客系统,它由Apache软件基金会维护,是Java开发者学习和研究的绝佳实例。通过深入分析Roller的源代码,我们可以了解到Java Web应用开发的多个关键知识点,包括但不限于以下方面...

    java开源web项目

    Java开源Web项目是全球开发者社区中的一个重要组成部分,它们为学习、开发和创新提供了丰富的资源。这些项目通常是基于Java编程语言构建的,旨在提供一个可扩展、高性能、安全且易于维护的Web应用程序框架。通过开源...

    apache开源项目源码DdlUtils-1.0-src,全部高质量操作数据库的java源程序

    apache开源项目源码DdlUtils-1.0-src 全部高质量操作数据库的java源程序 各种操作数据库的工具类源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者...

    分享6个国内优秀Java后台管理框架的开源项目,建议收藏!.pdf

    【标题】:分享6个国内优秀Java后台管理框架的开源项目 【描述】:本文将介绍六个在中国备受推崇的Java后台管理框架的开源项目,这些框架不仅高效且实用,是开发人员快速构建后台管理系统的理想选择。 【标签】:...

    apache开源项目源码commons-math-2.0-src(全部高质量数学函数math的java源程序)

    apache开源项目源码commons-math-2.0-src 全部高质量数学函数math的java源程序 java,math,数学函数,java函数源码 各种数学函数开发(math)的工具类源码,你会从中得到意想不到的效果! apache开源组织开发的开源...

    java开源web项目3

    【Java开源Web项目3详解】 Java作为一门广泛应用于企业级应用开发的语言,其在Web开发领域有着深厚的根基。开源Web项目3是基于Java技术栈构建的,它利用了Java的强大功能和灵活性,为开发者提供了丰富的工具和框架...

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

    本资源"JAVA上百实例源码以及开源项目.zip"提供了大量Java学习和实践的素材,涵盖了从初级到高级的各类实例,旨在帮助开发者提升Java编程技能。 初级实例通常涉及基础语法和基本数据类型,例如简单的控制流程(如if...

    Java开源项目目录汇总

    3. **数据处理与分析**:Apache Hadoop、Spark、Flink等大数据处理框架也在Java开源项目中占据一席之地。Hadoop提供分布式存储和计算能力,Spark以其高效的内存计算和易用性受到青睐,Flink则在流处理和批处理领域...

    apache开源项目源码commons-email-1.2-src(全部高质量开发邮件的java源程序)

    apache开源项目源码commons-email-1.2-src 全部高质量开发邮件的java源程序 各种操作邮件的工具类源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者...

    Java 开源项目集合.zip

    《Java开源项目集合》 Java,作为世界上最受欢迎的编程语言之一,拥有丰富的开源项目资源,这些项目涵盖了各种领域,从Web开发、大数据处理到机器学习、云计算等。本压缩包"Java 开源项目集合.zip"汇聚了众多优秀的...

    Java开源邮件服务器james源码

    Java开源邮件服务器Apache James是基于Java技术构建的一款强大的邮件服务器软件。它的源代码开放,允许开发者深入了解其工作原理,并可根据需求进行定制化开发。Apache James 2.3.2是该项目的某个稳定版本,提供了...

    apache开源项目列表.txt

    ### Apache开源项目列表详解 Apache软件基金会是全球领先的开源软件开发和应用社区,自成立以来,致力于推动自由软件的发展,提供了众多高质量、稳定的开源项目。以下是对部分Apache开源项目的详细解析,涵盖其技术...

    apache开源项目源码commons-el-1.0-src(全部高质量el表达式的java源程序)

    java,el,el表达式,el表达式源码,apache开源项目源码commons-el-1.0-src 各种el表达式操作工具类源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者...

    总结Java部分的框架和开源项目

    【Java 框架与开源项目概述】 在Java开发领域,框架和开源项目扮演着至关重要的角色,它们为开发者提供了可复用的代码库和结构化的开发方式,从而提高了开发效率和软件质量。以下是一些知名的Java框架和开源项目的...

    Java项目开源源码.zip

    【Java项目开源源码.zip】是一个包含Java编程语言开发的软件或插件的开源源代码集合。这个压缩包可能是为了帮助开发者学习、研究或者参考Java项目的实现方式,从而提升自己的编程技能,或者是为社区提供一个可协作和...

    java开源包6

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

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

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

    java开源包10

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    apache json解析开源项目

    Apache的JSON解析开源项目是Java开发中的一个强大工具,它为处理JSON(JavaScript Object Notation)数据提供了高效且易于使用的API。JSON作为一种轻量级的数据交换格式,广泛应用于Web服务和移动应用,尤其是在...

Global site tag (gtag.js) - Google Analytics