因为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 |