Eclipse CDT认为它已经崩溃了

时间:2009-10-24 06:18:42

标签: eclipse eclipse-cdt

我正在使用Eclipse进行一些嵌入式开发,最近每次保存文件或进行构建时都会开始给我这些错误。这很烦人,但在大多数情况下它似乎没有造成任何问题(它甚至还突出了源头的警告/错误。这里发生了什么?

Plug-in org.eclipse.cdt.cross.arm.gnu was unable to load class 
org.eclipse.cdt.managedbuilder.internal.scannerconfig.DefaultGnuWinScannerInfoCollector.

Plug-in org.eclipse.cdt.cross.arm.gnu was unable to load class  
org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser

2 个答案:

答案 0 :(得分:1)

看起来像eclipse wiki FAQ says

  

最可能的原因是在违规插件声明的类的静态初始化程序中抛出异常。检查.log文件以确定是否确实发生了这种情况   在构成插件的Java类初始化期间抛出异常时,Eclipse Platform加载程序不会加载插件。

     

此错误的另一个常见原因是缺少正在加载的类的适当构造函数。在扩展点中声明的大多数类必须具有公共零参数构造函数。检查扩展点文档,以查看在扩展中声明的类所需的构造函数。


  

如果问题仅在部署打包的插件时发生(即,当它未通过PDE在运行时工作台中启动时),通常最好检查MANIFEST.MF文件中的Bundle-ClassPath属性。
  必须在Bundle-ClassPath中列出包含插件类的JAR文件。即使插件的正确类都已列出,类加载仍可能失败,因为.class文件可能包含对在运行时无法解析的其他类的引用。在这种情况下,需要识别缺失的类(通常通过查看有问题的类的import语句),并且需要将必要的条目添加到Bundle-ClassPath。如果需要其他JAR文件,则还需要在build.properties文件中列出这些JAR,以便在打包插件时包含它们。

(请参阅this thread作为最后一点的说明)


所以,例如,在this thread中,回到eclipse3.0时的另一个问题:

  

plugin.xml文件指定“org.eclipse.core.runtime.compatablity”作为必需的插件。但是,我使用的是Eclipse Version 3.0.1,应使用“org.eclipse.core.runtime_3.0.1”。

     

解决方案:

     

替换Plugin.xml中的行

<import plugin="org.eclipse.core.runtime.compatability"/>
  

<import plugin="org.eclipse.core.runtime"/>

答案 1 :(得分:0)

VonC是对的 - 有关类加载可能出错的详细信息......

在这种情况下,你的arm.cross工具链引用了CDT的managedbuild中无法访问的内部类。这是您的手臂工具链和CDT之间的不兼容性。您应该在此错误上提交错误,首先尝试更新的版本。