由于缺少类而无法调试Eclipse应用程序

3

我使用Xtext 2.2.1编写了一个DSL插件。升级到Xtext 2.3.0后,由于出现以下错误,我无法调试相关的Eclipse应用程序(即,我正在使用标记为“Eclipse应用程序”的启动配置从Eclipse内部启动带有我的DSL插件的实例):

Error instantiating builder 'org.eclipse.xtext.ui.shared.xtextBuilder'.
Plug-in org.eclipse.xtext.ui.shared was unable to load class org.eclipse.xtext.ui.shared.internal.ExecutableExtensionFactory.
org/eclipse/xtext/ui/guice/AbstractGuiceAwareExecutableExtensionFactory

我尝试过以下方法:
1. 在启动配置中取消选择目标平台中的所有bundle,点击“添加所需插件”,然后再次尝试,但是仍然出现相同的错误。
2. 确保在插件列表中可用并且已启用org.eclipse.xtext.uiorg.eclipse.xtext.ui.shared版本为2.3.0
3. 当我将插件安装到我的IDE中时,它可以完美地工作。但是我无法从IDE中启动Eclipse应用程序。
“验证插件”没有显示任何问题。
你有什么想法如何解决这个问题吗?

你所说的“更新”具体指什么?是在“旧”的Eclipse中安装了新版本的XText插件吗?并且使用新版本重新生成了XText解析器吗? - tobias_k
我已更新我的目标平台中的插件(将它们替换为存档更新站点中的版本,然后运行p2工具以创建新的artifact/content jars)。 然后使用此目标平台再次安装了Eclipse,因此平台和Eclipse使用相同的插件。 我确实重新生成了解析器。 就像我说的那样:解析器可以正常运行。 我的问题是我无法创建一个可工作的启动配置。 - Aaron Digulla
@tobias_k:1)针对我的目标仓库,我无法更新现有的Eclipse安装(它总是产生我无法修复的p2错误),因此这是一个全新的安装。2)我会尝试一下。 - Aaron Digulla
好的,创建一个新的启动配置可以解决问题;虽然我更想知道损坏的配置文件出了什么问题,但我会接受这个答案的。 - Aaron Digulla
1
嗯,我想最重要的是它又可以工作了,但我必须承认,“创建一个新的启动器”几乎不值得赏金...也许如果你再等几天,你仍然会得到更好的东西。我想我现在就把这个记下来作为答案吧。 - tobias_k
显示剩余2条评论
1个回答

0

虽然这不是回答问题“为什么”启动器停止工作的方法,也不是修复现有启动器的方法,但您至少可以通过创建新的启动器来继续工作。要做到这一点,只需从XText项目的上下文菜单中选择“Run As > Eclipse Application”。这样,Eclipse应该会为您处理启动器的创建和配置。

确保Eclipse实际上创建了一个新的启动器!如果Eclipse找到现有的Eclipse Application启动器,它可能会使用那个启动器。您至少应该重命名旧的启动器,以便您可以知道使用哪个启动器(在控制台视图顶部显示)。新的启动器默认名称为“Eclipse Application”。如果Eclipse仍然使用旧的启动器,则可能需要先删除该启动器。

如果您想找出旧启动器出了什么问题,或者如果该启动器已经特别配置并且您想保留该配置,则可以尝试以下方法:Eclipse将启动器配置存储在工作区中的目录.metadata/.plugins/org.eclipse.debug.core/.launches/中,因此您可以备份旧启动器,然后使用某些差异工具将其与新创建的启动器进行比较。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接