【问题标题】:Missing libraries with oracle-java7-jdk in eclipse on ubuntu 12.04在 ubuntu 12.04 上的 Eclipse 中缺少带有 oracle-java7-jdk 的库
【发布时间】:2012-05-06 18:03:36
【问题描述】:

我最近安装了 ubuntu 12.04 final beta

从 webupd8 ppa 安装 oracle jdk 后,启动 eclipse 失败并抱怨缺少共享库。

Can't load library: /home/bob/.swt/lib/linux/x86_64/libswt-gtk-3740.so

我搜索了一下,发现了这个问题:Eclipse cannot load SWT libraries

按照 OP 的建议,我尝试切换到 open-jdk,效果非常好。然而,问题是我正在开发一个不支持 openjdk 的项目。

我也尝试了第二种解决方案(scott 的解决方案,它只是在 ~/.swt/lib/linux/x86_64/ 中创建指向 /usr/lib/jni/... 的符号链接)。 Eclipse 启动,一切正常,但仍然缺少一些库;这是我尝试运行项目时得到的结果:

Caused by: java.lang.UnsatisfiedLinkError: /tmp/libgdx/1352105074/libjogl_awt-linux64.so: libjawt.so: cannot open shared object file: No such file or directory

我知道 libjawt.so 在我电脑的某个地方:

$ locate libjawt.so
/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjawt.so
/usr/lib/jvm/java-7-oracle/jre/lib/amd64/libjawt.so

但是eclipse或者java好像都认为库应该放在~/.swt/lib/linux/x86_64,是不是很奇怪?

【问题讨论】:

    标签: java eclipse ubuntu


    【解决方案1】:

    请注意,这里有两个 Java 运行时在起作用。一个用于运行 Eclipse 本身,另一个用于运行您的代码。它们不必相同!

    我建议

    现在您自己的代码已针对 Oracle Java 编译并运行。

    【讨论】:

      【解决方案2】:

      尝试下载最新版本的 Eclipse 并运行它。出于某种原因,它工作正常。我刚刚放弃了旧版本的 Eclipse。我希望这对其他人有用!

      【讨论】:

        【解决方案3】:

        据我所知,Eclipse 在启动时默认使用其自己的内部 JRE。我推荐以下:

        1. 修改您的 CLASSPATH 变量以包含所需库的路径;
        2. 设置您的 JAVA_HOME 以匹配实际的 JAVA_HOME;
        3. 使用以下信息自定义 eclipse.ini,将 Eclipse 设置为从所需的 JVM 启动:http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#eclipse.ini
        4. 另外,您能否在启动 Eclipse 时指定 -classpath 选项?

        【讨论】:

        • 有很多地方可以指定类路径。我尝试了几个,但没有运气。但是,有效的方法是使用丢失库的路径运行 ldconfig
        • 对。这很有意义。它们不是 Java 库,而是 Linux 库。我读的太快了,忘了提到 LD_LIBRARY_PATH,它也可能起到了作用。以下是带有几个选项的更多信息:stackoverflow.com/questions/4743233/…
        • Eclipse 可能会使用内部 JRE(如果随附)(IBM 会这样做)。 Eclipse.org 的默认下载不包含这些,并且依赖于默认的 java 命令。
        • @ThorbjørnRavnAndersen -- 现在可能就是这种情况,但四年前当这个问题得到解答时,Eclipse 捆绑了它自己的编译器和 JRE。见stackoverflow.com/questions/4746341/…
        • @ingyhere 即使 JRE 包含自己的编译器,它也不包含在下载中。请在archive.eclipse.org/eclipse/downloads中寻找自己
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-12
        • 2014-02-05
        • 2012-07-09
        • 2013-04-29
        • 1970-01-01
        • 2012-08-01
        • 1970-01-01
        相关资源
        最近更新 更多