【问题标题】:How to run Eclipse 3.4.1 on MacOS 10.5.6?如何在 MacOS 10.5.6 上运行 Eclipse 3.4.1?
【发布时间】:2009-01-29 18:13:47
【问题描述】:

我想在 MacOS 10.5.6 上运行 Eclipse 3.4.1? 我想我在运行 eclipse 时使用的是 java 1.5:

$哪个java /usr/bin/java $ java -版本 java版本“1.5.0_16” Java(TM) 2 运行时环境,标准版(内部版本 1.5.0_16-b06-284) Java HotSpot(TM) Client VM(build 1.5.0_16-133,混合模式,共享)

然后我点击 eclipse 图标。

在 Preferences->Java->Installed JREs 中,我确实单击了“JVM 1.6.0”,因为我的项目需要使用 1.6。

但是在 .log 文件中,我得到这些错误,为什么有类文件错误的版本号?我该如何解决?

!SESSION 2009-01-29 10:07:29.618 ----------------------------------------------- eclipse.buildId=M20080911-1700 java.version=1.5.0_16 java.vendor=Apple Inc. BootLoader constants: OS=macosx, ARCH=x86, WS=carbon, NL=en_US Framework arguments: -keyring /Users/samuel/.eclipse_keyring -showlocation Command-line arguments: -os macosx -ws carbon -arch x86 -keyring /Users/samuel/ .eclipse_keyring -consoleLog -showlocation !ENTRY com.android.ide.eclipse.adt 4 0 2009-01-29 10:07:42.947 !MESSAGE Failed to start com.android.ide.eclipse.editors !STACK 0 org.osgi.framework.BundleException: Exception in com.android.ide.eclipse.editors .EditorsPlugin.start() of bundle com.android.ide.eclipse.editors. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv ator(BundleContextImpl.java:1028) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Bund leContextImpl.java:984) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl eHost.java:346) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:265) at com.android.ide.eclipse.adt.AdtPlugin$11.run(Unknown Source) Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.lang.ClassLoader.defineClass(ClassLoader.java:520) at com.android.ide.eclipse.editors.resources.manager.ProjectClassLoader. findClass(Unknown Source) at java.lang.ClassLoader.loadClass(ClassLoader.java:316) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at com.android.ide.eclipse.editors.resources.manager.CompiledResourcesMo nitor.loadAndParseRClass(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.CompiledResourcesMo nitor.projectOpenedWithWorkspace(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.ResourceMonitor.add ProjectListener(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.CompiledResourcesMo nitor.setupMonitor(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.ResourceManager.set up(Unknown Source) at com.android.ide.eclipse.editors.EditorsPlugin.start(Unknown Source) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(Bund leContextImpl.java:1009) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv ator(BundleContextImpl.java:1003) ... 4 more Root exception: java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.lang.ClassLoader.defineClass(ClassLoader.java:520) at com.android.ide.eclipse.editors.resources.manager.ProjectClassLoader. findClass(Unknown Source) at java.lang.ClassLoader.loadClass(ClassLoader.java:316) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at com.android.ide.eclipse.editors.resources.manager.CompiledResourcesMo nitor.loadAndParseRClass(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.CompiledResourcesMo nitor.projectOpenedWithWorkspace(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.ResourceMonitor.add ProjectListener(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.CompiledResourcesMo nitor.setupMonitor(Unknown Source) at com.android.ide.eclipse.editors.resources.manager.ResourceManager.set up(Unknown Source) at com.android.ide.eclipse.editors.EditorsPlugin.start(Unknown Source) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(Bund leContextImpl.java:1009) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActiv ator(BundleContextImpl.java:1003) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Bund leContextImpl.java:984) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl eHost.java:346) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:265) at com.android.ide.eclipse.adt.AdtPlugin$11.run(Unknown Source)

【问题讨论】:

    标签: java eclipse macos


    【解决方案1】:

    Intel 上 Mac OS X 上的 Eclipse 仅适用于 JDK 5(这太可怕了)。我总是需要创建两个版本的插件。

    但是,您使用的 Android 编辑器插件似乎是针对 1.6 编译的,所以我不确定是否有解决方案...

    【讨论】:

    【解决方案2】:

    看看这一行:

    java.lang.UnsupportedClassVersionError: Bad version number in .class file
    

    该错误意味着您正在尝试在比您用于编译的 JDK 旧的 JRE 中执行字节码。在您的情况下,版本 5 JRE 无法识别 v6 JDK 添加的文件魔法,并在遇到无法理解的字节码之前退出。

    解决方案是为编译器指定目标版本,或者升级您的 JRE。

    【讨论】:

      【解决方案3】:

      如果您想在项目中安装 1.6,则需要在 Mac 上安装 java 6。您应该可以在这里获得 java 6:

      http://developer.apple.com/java/download/

      【讨论】:

      • 谢谢。我的 Mac 上有 java 6 和 java 5。但我认为 eclipse 3.4 需要 java 5 才能工作。
      【解决方案4】:

      我能够让 Eclipse 3.5M5 以 JDK 1.6.0 作为其基础 VM 运行,并从上面稍微修改了路径:

      ./eclipse -vm /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0

      更好的是,我可以将它放在 /Applications/eclipse3.5/Eclipse.app/Contents/MacOS 的 eclipse.ini 文件中,只要它位于“-vmargs”之上。例如:

      -startup
      ../../../plugins/org.eclipse.equinox.launcher_1.0.200.v20090128-1500.jar
      --launcher.library
      ../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.0.0.v20081125-1800
      -vm
      /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0
      -showsplash
      org.eclipse.platform
      -vmargs
      ...
      

      【讨论】:

        【解决方案5】:

        您可以尝试最新的 Galileo (Eclipse 3.5) 里程碑。它不是很稳定,但可以在 Apple 的 JDK 1.6 上运行。得到它here(3.5M4 是最新的)。确保您获得可可 64 位版本。

        -vm /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java开头

        再次,一个包含所有含义的早期测试版。

        【讨论】:

        • 在 3.5M4 Cocoa 的注释中说“Eclipse 目前不能在(64 位)Java 1.6 上运行。”
        猜你喜欢
        • 2020-10-20
        • 2021-03-29
        • 2017-05-14
        • 1970-01-01
        • 2010-10-04
        • 2018-02-14
        • 2019-02-15
        • 1970-01-01
        • 2018-05-29
        相关资源
        最近更新 更多