【问题标题】:Any possible way to use Tokyo Cabinet in Eclipse?在 Eclipse 中使用 Tokyo Cabinet 的任何可能方式?
【发布时间】:2010-07-13 21:43:41
【问题描述】:

只需花 3 个小时尝试在 Linux 中解决 Eclipse 中的java.lang.UnsatisfiedLinkError: no jtokyocabinet in java.library.path 问题。

  • 已下载 TC 和 TC-Java 源代码,
  • 使用 ./config --prefix=/usr 构建它们(因此所有与“JNI”相关的内容都应该在 /usr/lib 中)
  • 设置 LD_LIBRARY_PATH=/usr/lib 和 CLASSPATH="$CLASSPATH:/usr/local/lib/tokyocabinet.jar" 并在 .profile 中导出
  • 将 tokyocabinet.jar 导入到项目中。

我是否缺少正确的 -Djava.library.path= 以外的设置。设置?我什至在网上或文档中都找不到关于jtokyocabinet 的任何信息。让这件事发挥作用的秘诀是什么?

【问题讨论】:

    标签: tokyo-cabinet


    【解决方案1】:

    尝试在您的 JAVA_HOME/jre/lib/i386 中创建指向 libjtokyocabinet.so...0 的链接。

    【讨论】:

      【解决方案2】:

      是因为你的代码找不到tokyocabinet的*.so and *.a文件,一般在/usr/local/lib,运行如下命令:

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
      

      然后再次尝试您的代码。

      【讨论】:

        【解决方案3】:

        在我的情况下,使用 OpenSUSE 12.3 64 位和 Eclipse 时遇到同样的问题。 首先,kyotocabinet-java 包可以从这个仓库下载:

        http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_12.3/

        这个包提供了/usr/lib64/libjkyotocabinet.so.1.1.0 是kyotocabinet jar 使用的库,你可以从maven 或官方网站获得。 寻找这个库我发现创建了一个 slink:

        xxxx@xxxx:/usr/lib64> ls -al /usr/lib64/libjkyoto*
        /usr/lib64/libjkyotocabinet.so.1 -> libjkyotocabinet.so.1.1.0
        /usr/lib64/libjkyotocabinet.so.1.1.0
        

        我刚刚创建了一个末尾没有“.1”的新链接...

        sudo ln -s libjkyotocabinet.so.1.1.0 libjkyotocabinet.so
        
        /usr/lib64/libjkyotocabinet.so -> /usr/lib64/libjkyotocabinet.so.1.1.0
        

        一切正常,看来

        System.loadLibrary("jkyotocabinet");
        

        如果库名称以不同于“.so”的名称结尾,则不起作用

        【讨论】:

          【解决方案4】:

          是的,你错过了一些东西。 Eclipse 控制自己的类路径,因此无论您在 Eclipse 之外的环境中设置什么,都可能没有任何效果。

          您需要进入项目的属性,找到“构建路径”设置并将 tc.jar(或 jars)的路径添加到那里的构建路径中。

          在 Eclipse 项目中设置 /lib 目录可能更容易,将你的 tokyo jar 复制到那里并将其添加到构建路径中。这样,它就成为您项目的一部分(并且可以从 Eclipse 安装转移到 Eclipse 安装),而不是成为外部系统依赖项。

          【讨论】:

          • 添加了所有的 jar 路径,甚至尝试了 /lib 目录技巧,但仍然不行。认真考虑尝试另一种类似于 tokyocabinet 的产品。有什么建议吗?
          • 抱歉!是的,您最好使用不同的数据库产品。最好有一个纯 Java 实现。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-01-01
          • 1970-01-01
          • 2010-12-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多