首页 > Berkeley DB JE, Tao Zhang > 在Windows下配置和编译Oracle Berkeley DB Java Edition

在Windows下配置和编译Oracle Berkeley DB Java Edition

2009年4月14日 taozhang

1. 前言

Oracle Berkeley DB Java Edition(以下简称JE)是一套由纯Java语言实现的嵌入式数据库,具有移植性强,存储性能高等特点。

JE提供的事务存储引擎不仅显著的减少了对象持久化开销,而且支持大量的并发的事务存储,并保持了对象-关系映射(ORM)解决方案的灵活性,速度和扩展性。为了让用户更加方便的使用JE,JE还提供了直接持久层(DPL),旨在提供与EJB3相同的好处:对象持久化时,不需要将对象转换成关系表。使用DPL,可以让用户更加关注事务逻辑,而不需要关心对象的存储。
除了Sun J2SE平台之外,JE还支持Android平台以及Oracle JRockit JVM,JE与JasperReport无缝集成更是大大的便利于商业智能及分析。同时为了方便项目管理,JE还提供了对Maven这一自动化编译及部署工具的支持。
本文介绍了如何在Windows下配置和编译Oracle Berkeley DB Java Edition以及如何运行一个简单的示例程序。后续文章还将涵盖许多JE使用及提高的机制和技巧。

2. 环境配置

为了在Windows上编译JE,系统需要安装JDK,Ant(1.7及以上版本)以及JUnit(3.8及以上)。

您可以从以下地址下载这些工具的最新版本:

  1. http://java.sun.com/javase/downloads/index.jsp
  2. http://ant.apache.org/bindownload.cgi
  3. http://www.junit.org/

下载完这些工具之后,下一步就是解压缩和安装。

1.将Ant解压缩到指定目录(如d:toolsant)。解压缩之后的目录文件如图1所示:

11

1

2.将JUnit解压缩到指定目录(如d:toolsjunit)。解压后的目录结构如图2所示:

21

2

3.将Java安装到指定目录(如d:toolsjava)。

4.在安装完指定工具之后,您需要设置环境变量,主要为:classpathpath两个设置。具体方法如下:右键点击“我的电脑”,选择“属性”,选择“高级”标签,进入环境变量设置,如图3所示:

33

3

根据您安装Ant,JDK和JUnit的具体位置,将path相应设置为对应目录,如:d:toolsjavabin;d:toolsantbin,将classpath设置为:

.;d:toolsjavalibtools.jar;d:toolsantlibant.jar;d:toolsjunitjunit.jar.

在安装成功之后,您可以在命令行窗口输入:java -version和ant -version来查看是否已经安装成功,如图4。

111

图4

3. 下载Berkeley DB Java Edition


安装必需的工具后,用户可以由地址:http://www.oracle.com/technology/software/products/berkeley-db/je/index.html下载JE最新本的zip压缩包,如图5

42

图5

JE的最新发行版本是3.3.75,用户下载zip包到本地机器之后,将其解压缩到指定目录,如:d:databaseje,目录结构如图6

51

图6

4. 编译并运行示例

用户在解压缩之后的目录中,会看到名为build.xmlAnt脚本,参看上图。它设置了一系列任务,如编译,单元测试以及运行JE提供的示例,接下来我们运行testex-simple”任务所表示的

示例。

该任务实际上是运行在目录d:databasejeexamplesje下名为SimpleExample的示例程序,如图7

9

图7

该任务演示了最基本的使用JE存取数据的过程,用户可以打开一个Windows的控制台,并进入到JE解压缩的目录:d:databaseje,然后输入命令:ant testex-simple,就会在控制台的输出

中看到取出的数据,如图8

10

图8

5.总结

从上述过程中可以发现,在Windows平台上配置和编译Oracle Berkeley DB Java Edition是非常简单的。Linux用户会发现,在Linux编译及运行JE示例程序的配置流程和本文基本一致。如您有进一步的疑问,欢迎访问JE的官方论坛:http://forums.oracle.com/forums/forum.jspa?forumID=273,或者给我留言。

分类: Berkeley DB JE, Tao Zhang 标签:
  1. chen
    2010年3月31日23:16 | #1

    不知道能否说一下eclipse下,如何使用。谢谢了

  2. taozhang
    2010年4月2日11:38 | #2

    Hi, Chen

    在Eclipse下开发一个JE应用程序是很简单的,你只需要将下载的je.jar加到”project->properties->Java build path”中就可以开发你的JE应用了。

    谢谢!
    张涛

  3. colo
    2010年5月17日15:54 | #3

    你好,
    请问我怎么样才能够编译下下来的db-46之类的版本得到db.jar和libdb_java46.dll
    谢谢了
    我在Myeclispe下使用BDB JE,je-3.3-62.jar和db.jar都已经导入了,但是报错:
    java.lang.UnsatisfiedLinkError: no libdb_java46 in java.library.path
    不知道是怎么回事,找了好久一直没法解决,请帮忙看看
    谢谢了

  4. chaohuang
    2010年5月17日16:04 | #4

    @colo
    db.jar和libdb_java46.dll 是BDB 4.6版本中Java API用到的类库。 je-3.3-62.jar 是BDB-JE产品。两者不同产品,不可以混用。

  5. colo
    2010年5月17日16:15 | #5

    哦,我知道了,谢谢你
    另外请问下怎样编译BDB得到它的JAVA API类库,我太菜了实在搞不定

  6. chaohuang
    2010年5月17日16:28 | #6

    @colo
    关于编译使用BDB C语言版的下的Java API,可参考如下文档:
    1. 如果用的最新版本的BDB, 可以参考这里: http://www.oracle.com/technology/documentation/berkeley-db/db/installation/index.html

    2. 如果用的是早期版本,请参考你下载的BDB发布包里安装文档(即 Berkeley DB Installation and Build Guide)的 关于Building the Java API的章节。

  7. colo
    2010年5月17日16:35 | #7

    好的,太感谢了,我刚看到你们博客的一篇文章了
    另外,能提个建议吗,觉得你们的所有文章列表很不好找,
    要是在顶部 首页》关于我们》招贤纳士》旁边加个文章列表之类的导航就好了

  8. chaohuang
    2010年5月18日13:54 | #8

    @colo
    好建议,我考虑加上。 另外,在页面右边有对应产品分类、标签云等都可以帮助快速找到文章。

  9. colo
    2010年5月18日16:12 | #9

    请问可以用prefuse+BDB做可视化显示吗
    我页面是JSP的,从BDB读出来的数据是一个一个类的形式或者字节流
    请问怎么样能利用prefuse显示
    我看到prefuse主页上的是xml和jdbc连接的例子,不知道这样要怎么实现,谢谢了

本文的评论功能被关闭了.
Դ