Eclipse包结构分析(一)

因为XMDP平台使用基于Eclipse的OSGi技术,我们对Eclipse所依赖的包结构进行了一次相对完整的分析,目前仅剩下少量校对工作。

本次先为大家带来Eclipse所依赖的非org.eclipse包的说明。

包名 分类 作用
ch.qos.logback.classic 日志 logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个改良版本。此外logback-classic完整实现了SLF4J API,使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。
ch.qos.logback.core
ch.qos.logback.slf4j
com.google.gerrit.common 开发工具 Gerrit,一种免费、开放源代码的代码审查软件。
com.google.gerrit.prettify
com.google.gerrit.reviewdb
com.google.guava 工具包 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。目前主要包含:
com.google.common.annotations
com.google.common.base
com.google.common.collect
com.google.common.io
com.google.common.net
com.google.common.primitives
com.google.common.util.concurrent
com.google.gson 数据处理 google gson 是一个非常轻量的java 对象与json相互转化工具
com.google.gwt.servlet 通讯 GWT中前后台交互有多种方式,包括JSON,XML,RPC 其中RPC是GWT提供给我们的功能,他能够让我们直接在前后台之间传递对象,而无效考虑中间的传递过程。这样做的好处是大大提高了我们的开发效率。 GGWT的前后台交互方式有很多种,包括JSON,XML,RPC ;
依赖gson
com.google.gwtjsonrpc
com.google.gwtorm
com.google.inject.multibindings 依赖注入 Guice (读作”juice”)是超轻量级的,下一代的,为Java 5及后续版本设计的依赖注入容器。
com.google.inject
com.gradleware.tooling.client 构建 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具
com.gradleware.tooling.model
com.gradleware.tooling.utils
com.ibm.icu.source 国际化 International Component for Unicode (以下简称 ICU) 是一套稳定成熟、功能强大、轻便易用和跨平台支持Unicode 的开发包,使得开发人员在 C/C++ 和 Java 上开发全球化软件产品更容易,ICU 是由 IBM 发布和维护,并且是开放源代码的。

http://www.ibm.com/developerworks/cn/opensource/os-mfc2icu/index.html

com.ibm.icu
com.jcraft.jsch.source 通讯 JSch SSH2的纯java实现.
JSch允许你连接到sshd server并且使用端口转发(port forwarding), X11 forwarding, 文件传输等。

http://www.jcraft.com/jsch/

com.jcraft.jsch
com.sun.el.source 文本解析 EL表达式包
com.sun.el
javaewah 压缩 快速位图(bitmap)压缩,用于数据分析等
javax.annotation.source 语言扩展 定义常用的注解
javax.annotation
javax.el.source 文本解析 定义UEL(Unified Expression Language ),被用于JSP、JSF等技术中
javax.el
javax.inject.source 依赖注入 依赖注入标准包,可以兼容Spring 、Guice
javax.inject
javax.servlet.jsp.source Web 定义servlet和运行环境之间的约束
javax.servlet.jsp
javax.servlet.source
javax.servlet
javax.servlet
javax.xml 文本解析 定义XML规范相关的常量和常用功能
org.apache.ant.source 构建
org.apache.ant 将软件编译、测试、部署等步骤联系在一起并加以自动化的一个工具
org.apache.batik.css.source 图片处理  Batik是一个基于Java技术的SVG(可扩展矢量图)工具包,可以查看、生成和处理SVG格式的图片
org.apache.batik.css
org.apache.batik.util.gui.source
org.apache.batik.util.gui
org.apache.batik.util.source
org.apache.batik.util
org.apache.commons.codec 数据处理 提供常用的编码解码工具包,如Base64, Hex, Phonetic 和URL等
org.apache.commons.compress 数据处理 提供常用的压缩工具包,如ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE 和 Z等文件格式
org.apache.commons.httpclient Web 提供了比Java自带的 java.net包更多的功能,更好的扩展性、更多功能、更高的稳定性。
org.apache.commons.io 数据处理 处理io流的工具,封装了很多处理io流和文件的方法,包括常用的工具,输入和输出流操作实现类,以及文件、文件夹的相关操作的工具类
org.apache.commons.jxpath.source 文本解析 定义了Xpath表达式语言的解释器,JXPath 使用Xpath来访问各种类型的对象,如JavaBean, Map, Servlet上下文, DOM等。简单来说提供了对带有层级的对象和嵌套对象进行访问的方法。
org.apache.commons.jxpath
org.apache.commons.lang 语言扩展 跟java.lang这个包的作用类似,Commons Lang这一组API可以视为对其的扩展,提供一些基础的、通用的操作和处理工具,包括字符串、数值计算,对象反射处理、系统属性的创建和序列化等,还包括一些自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。
org.apache.commons.lang3 语言扩展 在JDK5之后Java引入了很多新特性,如泛型、可变参数等,因此lang包进行了升级。其中也包含了包括异常处理、并发处理、随机数、反射相关的新特性。
org.apache.commons.logging.source 日志 对各种日志实现进行了统一封装,使得对各种日志实现的使用变得更为简单,如果更换日志实现并不用再更改上层应用代码。不过需要注意,commons.logging并不负责初始化和销毁底层的日志实现,这需要应用自行处理。
org.apache.commons.logging
org.apache.commons.math 数学 轻量、自容的数值计算和统计计算组件
org.apache.commons.pool 工具包 一般来说,创建新的对象并进行初始化操作,可能会消耗很多的时间。所以在需要频繁创建并使用这些对象的场景中,为了提供系统性能,通常的做法是,创建一个对象池,将一定数量的对象缓存到这个对象池中。需要使用时直接从对象池中取出对象,使用完后将对象扔回到对象池中即可。Apache的commons pool组件是我们实现对象池化技术的良好助手。它定义了一些对象池API,并提供了一些实现。
org.apache.felix.gogo.command.source UI gogo项目提供了基于OSGi环境的Shell。其中:
runtime子包实现了核心命令处理;
shell子包提供了与命令处理器交互的文本界面;
command子包实现了一些基本的指令。
org.apache.felix.gogo.command
org.apache.felix.gogo.runtime.source
org.apache.felix.gogo.runtime
org.apache.felix.gogo.shell.source
org.apache.felix.gogo.shell
org.apache.httpcomponents.httpclient Web HttpComponents项目的目的在于提供一些关于HTTP及其相关协议的工具,它们对于编写Web浏览器、网络爬虫、HTTP代理、Web Service等程序是非常有用的。其中:
httpcore提供了HTTP底层通信工具包,支持阻塞/非阻塞式IO模型,基于NIO的事件驱动IO模型。
Httpclient基于httpcore提供了与HTTP/1.1兼容的客户端工具,包括客户端授权、HTTP状态管理、HTTP连接管理等。
org.apache.httpcomponents.httpcore Web
org.apache.jasper.glassfish.source Web
org.apache.jasper.glassfish 位于org.eclipse.jetty.orbit之下,属于Eclipse的Orbit项目。Orbit项目的在于提供会在一个或多个Eclipse项目中都用到的第三方OSGi bundle,解决在将第三方库封装为bundle的过程中可能会遇到的重复工作,如bundle的命名、版本管理、组合方式等。Jasper是一个JSP处理引擎。在jetty9.2之前使用的是来自glassfish的jasper引擎,从9.2开始使用的是来自Apache的jasper引擎。
org.apache.log4j 日志 日志记录组件
org.apache.lucene.analysis.source 搜索 lucene是一个全文检索引擎工具包,提供高效的索引和检索算法;其中:
core包:核心包
analysis包:各种解析器实现包,包括对各种语言的支持
org.apache.lucene.analysis
org.apache.lucene.core.source
org.apache.lucene.core
org.apache.solr.client.solrj 搜索 Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。
org.apache.ws.commons.util 文本解析 高性能的基于SAX的XML解析工具包
org.apache.xerces 文本解析 XML语法分析器,具有java、C++等多种语言实现
org.apache.xml.resolver 文本解析  Apache XML Commons Resolver 类实现了XML Catalog的解析。XML Catalog 是基于 OASIS XML Catalog specification 标准的实现,它提出了一些关于 XML 文件如何引用外部资源的控制。XML Catalog 是由来自一个或者多个 catalog 条目文件的条目组成的 xml 文件,其保存了要校验的 xml 文件以及该文件对应的 xsd 文件的映射,在运行时可以自动将它们关联起来,从而实现对 xml 文件的校验。
org.apache.xml.serializer 文本解析 属于Apache Xalan项目,使用XSLT标准样式表来转换XML,可将XML转换为HTML、text和其他各种基于XML的文档格式,它实现了XSLT1.0和XPath1.0。此包用于将SAX事件序列化成各种格式的文本流
org.apache.xmlrpc 通讯 XML-RPC的Java实现,基于HTTP协议通信,使用XML进行编解码的远程过程调用包
org.gradle.toolingapi 构建 Gradle提供的一套API,用于在你自己的软件中嵌入使用Gradle。这些API可以允许你执行、监视、查询Gradle构建的情况。
org.hamcrest.core 测试 Hamcrest是一个用于帮助编写软件测试用例的框架,用于创建自定义的断言匹配器,允许声明式地定义匹配规则。这些匹配器可以在Junit、jMock等单元测试框架中使用。
org.hamcrest.library
org.jsoup Web Jsoup是解析网页的工具包,它提供了一套API,可通过DOM、CSS以及类似于jQuery的操作方法来取出和操作数据。可用来编写网络爬虫。
org.junit 测试 JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架。
org.objectweb.asm.tree 语言扩展 ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM可以直接产生二进制class文件,也可以在类被加载前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。
org.objectweb.asm
org.sat4j.core 数学 sat4j是一个全功能的布尔推理库,用于解决可满足性(SAT)问题、最大可满足性(MAXSAT)问题、 伪布尔优化(Pseudo-Boolean)、 最小不可满足子集(Minimally Unsatisfiable Subset ,MUS)问题 。
org.sat4j.pb
org.slf4j.api 日志 SLF4J日志框架允许最终用户在部署其应用时使用其所希望的日志系统。
org.slf4j.impl.log4j12
org.tukaani.xz.source 压缩 支持XZ类型压缩文件的操作。
org.tukaani.xz
org.w3c.css.sac.source UI Simple API for CSS(SAC)支持对层叠样式表(CSS)的操作。
org.w3c.css.sac
org.w3c.dom 文本解析  Document Object Model (DOM)是操作XML文件的API,它定义了文档的结构以及访问和操作方法。DOM2(Document Object Model Level 2)支持程序动态访问和更新文档内容和结构。
*events子包:使用DOM API来操作DOM事件(Events)
*smil子包:SMIL (Synchronized Multimedia Integration Language)是一门基于XML的类HTML语言, 被设计为用来启用web上的多媒体呈现,SMIL 呈现可由音频、视频、图像、文本以及其他媒介类型组成。
*svg子包:使用DOM API来操作SVG文档(可参考Apache的Batik 项目)。
org.w3c.dom.events.source
org.w3c.dom.events
org.w3c.dom.smil.source
org.w3c.dom.smil
org.w3c.dom.svg.source
org.w3c.dom.svg
打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2016/09/eclipse-package-01/
百度已收录