【问题标题】:Memory error in Eclipse (ADT) - Wrong Java version?Eclipse (ADT) 中的内存错误 - 错误的 Java 版本?
【发布时间】:2014-06-01 16:16:20
【问题描述】:

我使用的是 64 位 Ubuntu 12.04。 我最近将我的 Java 更新为 Java 7:

isa@Daemon:~$ java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

在此之后,我的 ADT 包停止工作。

当我打开 Eclipse 时,我收到以下错误:

当我点击“确定”时,会出现其他错误,例如

它开始非常努力地工作(笔记本电脑变热),有时它会停止响应,我不得不强行退出它。 它是新安装的 adt bundle 版本(来自:http://developer.android.com/sdk/index.html

我真的不知道该怎么办。它在更新到 java7 之前工作(是的,我已经安装了 32-libs)。谷歌告诉我,我得到的第一个错误是内存不足错误,但是更改 eclipse 的堆大小不能成为解决方案,因为它在更新之前就可以工作。我认为我的 java 版本有问题。

顺便说一句:我在同一台笔记本电脑上使用了另一个版本的 Eclipse (Indigo)。这个版本没有任何问题。

附:eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130807-1835
-product
com.android.ide.eclipse.adt.package.product
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-XX:MaxPermSize=256m
-Xms40m
-Xmx768m
-Declipse.buildId=v22.6.2-1085508
-XX:MaxPermSize=512M

和错误日志的一部分(我不会通过在此处粘贴所有 >10000 行来打扰您) http://pastebin.com/i7dUfg4h

编辑:更改 eclipse 使用的虚拟机后,这些错误消失了,但是当我尝试构建项目(启动到 android 设备)时,我在终端中收到以下错误:

eclipse 决定终止。

感谢任何提示! 伊萨

【问题讨论】:

    标签: java android eclipse adt


    【解决方案1】:

    您是使用非官方 PPA 进行升级还是手动安装?您是否删除了(我假设)OpenJdk1.6 的所有痕迹?

    您可以安装任意多个版本的 Java。您可以使用update-alternatives --config java 配置默认使用的操作系统,也可以通过使用您喜欢的版本的路径手动配置单个程序以使用您喜欢的任何程序。

    您确实应该在eclipse.ini 中指定eclipse 使用的JVM,也许这就是这个损坏的安装所做的。也许它指向已删除的 1.6 JDK。重要的是您控制您的开发环境,而不是依赖操作系统默认值,因为这些默认值有时会发生不可预见或未知的变化。

    Here is a link 到配置文件说明中,但您需要做的是查看它以查看 Eclipse 使用 -vm-vmargs 获取和配置 JVM 的位置(如果有的话)。

    您应该使用以下命令定义所需 JVM 的位置:

    --vm /path/to/java/bin/java
    

    您也可以使用-XX:MaxPermSize-Xms-Xmx 在其他选项中调整内存分配。

    再次,请参阅链接的 wiki 了解详细信息。

    您的工作区或安装也可能损坏。您可以尝试创建一个新的工作区,甚至是一个新的 Eclipse 安装。
    您也可以使用-clean(可能是--clean,不记得了)启动Eclipse,将其重置为默认值。

    由于错误指向 ADT,您可能只需 reinstalling that 就可以逃脱。

    【讨论】:

    • 我查看了 eclipse.ini 并且有一行说 -Dosgi.requiredJavaVersion=1.6 我将其更改为 1.7 但这没有帮助。我现在附上错误日志和ini
    • 这不是我建议的配置选项。我说的是-vm /path/to/java/bin。请查看我的答案和链接的 wiki,了解如何添加它,然后返回更新。
    • 好的,我已经将行 -vm /usr/lib/jvm/java-7-oracle/bin/java 插入到 eclipse.ini 中,现在它似乎可以与 oracle (sun) java 一起使用。我认为问题在于它链接到另一个 java 版本,如 openjdk。谢谢!
    • 但是 - 我在构建项目时仍然出现内存不足的异常 - 这里似乎仍然有些东西
    • 然后尝试使用相同的 wiki 增加分配的 RAM 以获得指导。这是一个特别大的项目吗?你有什么可用的内存?您可以尝试将项目导入到一个新的、干净的 Eclipse 安装中,看看它是 IDE 还是项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 2015-12-12
    • 2011-08-21
    • 1970-01-01
    相关资源
    最近更新 更多