首页 > 解决方案 > java.lang.ClassNotFoundException:org.eclipse.core.runtime.adaptor.EclipseStarter raspberrypi 不工作

问题描述

我不明白为什么它不起作用。你能写一点解释吗

    __________________________________________________________
    --------eclipse版本------------
    
    openjdk 11.0.7 2020-04-14
    OpenJDK 运行时环境 (build 11.0.7+10-post-Raspbian-3deb10u1)
    OpenJDK Server VM(build 11.0.7+10-post-Raspbian-3deb10u1,混合模式)
    
    
    
    
    ____________________________________________________________________________
    --------eclipse错误日志----
    
    
    
    !SESSION Mon Jul 06 23:05:19 TRT 2020 -------------------------------------------------- ----
    !ENTRY org.eclipse.equinox.launcher 4 0 2020-07-06 23:05:20.022
    !MESSAGE 异常启动 Eclipse 平台:
    !堆
    java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
    
        在 java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
        在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
        在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:626)
        在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        在 o
    
    rg.eclipse.equinox.launcher.Main.run(Main.java:1438)
    
    
    
    
    ________________________________________________________________________
    -------------eclipse /usr/share/eclipse/configuration/config.ini-------
    
    #这个配置文件的编写者是:org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser
    #2018 年 2 月 21 日星期三 18:41:43 UTC
    org.eclipse.update.reconcile=false
    eclipse.p2.profile=平台配置文件
    osgi.instance.area.default=@user.home/workspace
    osgi.framework=file\:plugins/org.eclipse.osgi_3.8.1.dist.jar
    Equinox.use.ds=true
    eclipse.buildId=debbuild
    osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.301.dist.jar@1\:start
    org.eclipse.swt.internal.gtk.useCairo=true
    org.eclipse.equinox.simpleconfigurator.configUrl=文件\:org.eclipse.equinox.simpleconfigurator/bundles.info
    eclipse.product=org.eclipse.platform.ide
    osgi.splashPath=platform\:/base/plugins/org.eclipse.platform
    osgi.framework.extensions=
    osgi.bundles.defaultStartLevel=4
    eclipse.application=org.eclipse.ui.ide.workbench
    eclipse.p2.data.area=@config.dir/../p2/
    
    
    
    
    ________________________________________________________________________
    ---------eclipse插件----------
    
    org.eclipse.ant.core_3.2.400.dist.jar
    org.eclipse.compare_3.5.300.dist.jar
    org.eclipse.compare.core_3.5.200.dist.jar
    org.eclipse.core.boot_3.1.300.dist.jar
    org.eclipse.core.externaltools_1.0.100.dist.jar
    org.eclipse.core.filebuffers_3.5.200.dist.jar
    org.eclipse.core.filesystem_1.3.200.dist.jar
    org.eclipse.core.net_1.2.200.dist.jar
    org.eclipse.core.resources_3.8.1.dist.jar
    org.eclipse.core.runtime.compatibility_3.2.200.dist.jar
    org.eclipse.core.runtime.compatibility.registry_3.5.100.dist
    org.eclipse.core.variables_3.2.600.dist.jar
    org.eclipse.cvs_1.2.0.dist.jar
    org.eclipse.debug.core_3.7.100.dist.jar
    org.eclipse.debug.ui_3.8.1.dist.jar
    org.eclipse.ecf_3.1.300.dist.jar
    org.eclipse.ecf.filetransfer_5.0.0.dist.jar
    org.eclipse.ecf.identity_3.1.200.dist.jar
    org.eclipse.ecf.provider.filetransfer_3.2.0.dist.jar
    org.eclipse.ecf.provider.filetransfer.httpclient_4.0.200.dist.jar
    org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.dist.jar
    org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.dist.jar
    org.eclipse.ecf.ssl_1.0.100.dist.jar
    org.eclipse.equinox.concurrent_1.0.300.dist.jar
    org.eclipse.equinox.event_1.2.200.dist.jar
    org.eclipse.equinox.frameworkadmin_2.0.100.dist.jar
    org.eclipse.equinox.frameworkadmin.equinox_1.0.400.dist.jar
    org.eclipse.equinox.http.jetty_3.0.0.dist.jar
    org.eclipse.equinox.http.registry_1.1.200.dist.jar
    org.eclipse.equinox.http.servlet_1.1.300.dist.jar
    org.eclipse.equinox.jsp.jasper_1.0.400.dist.jar
    org.eclipse.equinox.jsp.jasper.registry_1.0.300.dist.jar
    org.eclipse.equinox.log_1.2.300.dist.jar
    org.eclipse.equinox.p2.artifact.repository_1.1.200.dist.jar
    org.eclipse.equinox.p2.console_1.0.300.dist.jar
    org.eclipse.equinox.p2.core_2.2.0.dist.jar
    org.eclipse.equinox.p2.director_2.2.0.dist.jar
    org.eclipse.equinox.p2.director.app_1.0.300.dist.jar
    org.eclipse.equinox.p2.directorywatcher_1.0.300.dist.jar
    org.eclipse.equinox.p2.engine_2.2.0.dist.jar
    org.eclipse.equinox.p2.extensionlocation_1.2.100.dist.jar
    org.eclipse.equinox.p2.garbagecollector_1.0.200.dist.jar
    org.eclipse.equinox.p2.jarprocessor_1.0.200.dist.jar
    org.eclipse.equinox.p2.metadata_2.1.0.dist.jar
    org.eclipse.equinox.p2.metadata.repository_1.2.100.dist.jar
    org.eclipse.equinox.p2.operations_2.2.0.dist.jar
    org.eclipse.equinox.p2.publisher_1.2.0.dist.jar
    org.eclipse.equinox.p2.publisher.eclipse_1.1.0.dist.jar
    org.eclipse.equinox.p2.ql_2.0.100.dist.jar
    org.eclipse.equinox.p2.reconciler.dropins_1.1.200.dist.jar
    org.eclipse.equinox.p2.repository_2.2.0.dist.jar
    org.eclipse.equinox.p2.repository.tools_2.0.100.dist.jar
    org.eclipse.equinox.p2.touchpoint.eclipse_2.1.100.dist.jar
    org.eclipse.equinox.p2.touchpoint.natives_1.1.0.dist.jar
    org.eclipse.equinox.p2.transport.ecf_1.0.100.dist.jar
    org.eclipse.equinox.p2.ui_2.2.0.dist.jar
    org.eclipse.equinox.p2.ui.importexport_1.0.1.dist.jar
    org.eclipse.equinox.p2.ui.sdk_1.0.200.dist.jar
    org.eclipse.equinox.p2.ui.sdk.scheduler_1.1.0.dist.jar
    org.eclipse.equinox.p2.updatechecker_1.1.200.dist.jar
    org.eclipse.equinox.p2.updatesite_1.0.400.dist.jar
    org.eclipse.equinox.security_1.1.100.dist.jar
    org.eclipse.equinox.security.ui_1.1.100.dist.jar
    org.eclipse.equinox.simpleconfigurator.manipulator_2.0.0.dist.jar
    org.eclipse.help.appserver_3.1.400.dist.jar
    org.eclipse.help.base_3.6.100.dist.jar
    org.eclipse.help.ui_3.5.200.dist.jar
    org.eclipse.help.webapp_3.6.101.dist.jar
    org.eclipse.jdt.core_3.8.2.dist.jar
    org.eclipse.jface.text_3.8.1.dist.jar
    org.eclipse.jsch.core_1.1.400.dist.jar
    org.eclipse.jsch.ui_1.1.400.dist.jar
    org.eclipse.ltk.core.refactoring_3.6.0.dist.jar
    org.eclipse.ltk.ui.refactoring_3.7.0.dist.jar
    org.eclipse.platform_3.8.1.dist
    org.eclipse.platform.doc.user_3.8.0.dist.jar
    org.eclipse.search_3.8.0.dist.jar
    org.eclipse.team.core_3.6.100.dist.jar
    org.eclipse.team.cvs.core_3.3.500.dist.jar
    org.eclipse.team.cvs.ssh2_3.2.300.dist.jar
    org.eclipse.team.cvs.ui_3.3.500.dist.jar
    org.eclipse.team.ui_3.6.200.dist.jar
    org.eclipse.text_3.5.200.dist.jar
    org.eclipse.ui.browser_3.4.1.dist.jar
    org.eclipse.ui.cheatsheets_3.4.200.dist.jar
    org.eclipse.ui.console_3.5.100.dist.jar
    org.eclipse.ui.editors_3.8.0.dist.jar
    org.eclipse.ui.externaltools_3.2.100.dist.jar
    org.eclipse.ui.forms_3.5.200.dist.jar
    org.eclipse.ui.ide_3.8.1.dist.jar
    org.eclipse.ui.ide.application_1.0.400.dist.jar
    org.eclipse.ui.intro_3.4.200.dist.jar
    org.eclipse.ui.intro.universal_3.2.600.dist
    org.eclipse.ui.navigator_3.5.200.dist.jar
    org.eclipse.ui.navigator.resources_3.4.400.dist.jar
    org.eclipse.ui.net_1.2.101.dist.jar
    org.eclipse.ui.presentations.r21_3.2.201.dist.jar
    org.eclipse.ui.views_3.6.100.dist.jar
    org.eclipse.ui.views.properties.tabbed_3.5.300.dist.jar
    org.eclipse.ui.workbench.compatibility_3.2.101.dist
    org.eclipse.ui.workbench.texteditor_3.8.0.dist.jar
    org.eclipse.update.core_3.2.600.dist.jar
    org.eclipse.update.scheduler_3.2.400.dist.jar
    org.eclipse.update.ui_3.3.0.dist.jar

标签: javaeclipsejareclipse-plugin

解决方案


多个问题

找不到类

ClassNotFoundException可能是因为您使用 JDK11。也许作为 Java 11 一部分的 Jigsaw 项目(模块化)是找不到类的问题。所以这个问题可以通过使用JDK8来解决。apt 附带的 eclipse 版本通常很旧,无法正确处理模块化。

如果您的 Linux 系统上有多个 java 安装,您可以通过以下方式在它们之间切换:

sudo update-alternatives --config java

有关更多详细信息,请参阅stackoverflow 上的替代命令描述

或者您更改eclipse.ini文件并指出您想要的 JDK 而不更改您的默认 Java 版本:eclipse.ini VM Linux 示例(Eclipse Wiki)

Eclipse APT 版本很旧

不幸的是,大多数 Linux 发行版仅提供“开箱即用”的非常旧版本的 eclipse。我建议从 https://www.eclipse.org/downloads/packages/下载更新的软件包——至少对于 i386 架构。

使用这种极旧的 Eclipse 版本会非常慢,并且您将无法访问 Eclipse 市场上的最新插件,因为市场解决方案描述了它们正在运行的版本,并且现在大多数插件至少需要 Java 8 和 Eclipse Oxygen。

已删除 32 位操作系统支持

Eclipse 项目已放弃对 32 位 Windows 和 Linux 的支持(请参阅“Photon”的发布信息) - 所以如果您的操作系统是 32 位...

默认情况下,SWT 原生部件在 ARM 上不可用

eclipse 用来绘制菜单、组件和所有其他 UI 部分的标准小部件工具包 (SWT) 是一个本地库 - 所以它对于 Linux、Windows、Mac 是不同的......

目前仅在SWT构建平台上

  • mac 64位 (i386)
  • gtk linux 64bit (power pc + i386)
  • 视窗 64 位 (i386)

正在构建。

何去何从?

也许你可以在你的树莓派上安装一个 64 位的 Linux 版本来解决 32 位的问题。

但我不确定这是否会启动 eclipse,因为提到的SWT库不是为 ARM 架构构建的。

因此,只要这里没有官方支持或有人为 SWT 进行基于 ARM 的构建,就很难在您的 PI 上运行 eclipse。但是让苹果也去ARM平台化,也许它将来也会发生在 linux arm 上?

这里有一些额外的链接


推荐阅读