You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

安装Vue.js CodeMix后Eclipse无法启动,报错需查看.metadata\.log文件

解决CodeMix安装后Eclipse启动报错的方案

我之前也踩过CodeMix和Eclipse Neon版本兼容的坑,看你提供的日志,核心问题是com.genuitec.eclipse.code.core这个插件bundle在启动时抛出了激活异常,之前你试过的删除.metadata、管理员运行都没解决,那可以试试下面几个更针对性的方案:

  • 彻底清理CodeMix残留并重装兼容版本
    关闭Eclipse后,做以下操作:

    1. 找到Eclipse安装目录下的dropins文件夹,删除所有带有codemixgenuitec标识的文件夹/文件;
    2. 进入用户目录(比如C:\Users\你的用户名)下的.eclipse文件夹,找到对应你当前Eclipse版本(4.6.3)的子目录,删除其中CodeMix相关的缓存文件夹;
    3. 重新启动Eclipse,安装适配Eclipse Neon(4.6.x)版本的CodeMix插件,避免安装最新版(最新版可能不再支持老版本Eclipse)。
  • 升级JDK版本并配置到Eclipse
    你的日志显示使用的是JDK 1.8.0_101,这个版本过于陈旧,CodeMix对JDK 8的更新版本兼容性更好:

    1. 下载并安装JDK 8u200及以上版本(或尝试JDK 11,Eclipse Neon对JDK 11有基础支持);
    2. 修改Eclipse安装目录下的eclipse.ini文件,在-vmargs行之前添加JDK路径配置(注意路径要换成你自己的JDK安装路径):
      -vm
      C:\Program Files\Java\jdk1.8.0_291\bin\javaw.exe
      
    3. 保存后重启Eclipse。
  • 使用-clean参数强制清理插件缓存
    右键点击Eclipse快捷方式,选择「属性」,在「目标」栏的现有路径末尾添加 -clean(注意前面有空格),比如:

    D:\eclipse\eclipse.exe -clean -product org.eclipse.epp.package.php.product
    

    启动一次Eclipse后,再去掉-clean参数正常启动,这个操作会强制Eclipse重新初始化插件状态,清理可能损坏的缓存。

  • 通过OSGi控制台诊断依赖问题
    如果以上方法都无效,可以尝试用Eclipse的OSGi控制台排查具体依赖缺失:

    1. 启动Eclipse时添加-console参数,打开控制台后输入ss com.genuitec,查看所有Genuitec相关bundle的状态;
    2. 找到状态为INSTALLEDRESOLVED的bundle,输入start 你的bundle-id尝试手动启动,控制台会输出具体的依赖报错,根据提示补充缺失的插件或修复依赖。

你提供的报错日志:

!SESSION 2018-05-31 12:13:30.531 -----------------------------------------------
eclipse.buildId=4.6.3.M20170301-0400
java.version=1.8.0_101
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.php.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.php.product

!ENTRY org.eclipse.equinox.ds 2 0 2018-05-31 12:13:34.098
!MESSAGE InstanceProcess.disposeInstances(): registration for component com.genuitec.eclipse.code.core.quickopeneventbu is already disposed!

!ENTRY org.eclipse.osgi 4 0 2018-05-31 12:13:34.154
!MESSAGE An error occurred while automatically activating bundle com.genuitec.eclipse.code.core (9).
!STACK 0
org.osgi.framework.BundleException: Exception in com.genuitec.eclipse.code.core.CodeCore.start() of bundle com.genuitec.eclipse.code.core.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:795)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
    at org.eclipse.osgi.container.Module.doStart(Module.java:581)
    at org.eclipse.osgi.container.Module.start(Module.java:449)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:470)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2391)
    at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2156)
    at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:464)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
    at org.eclipse.osgi.container.Module.doStart(Module.java:581)
    at org.eclipse.osgi.container.Module.start(Module.java:449)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:470)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345)
    at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:419)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse

内容的提问来源于stack exchange,提问作者Pure Rhymer Organization

火山引擎 最新活动