2

我知道你不喜欢帮助别人做作业,但我必须制作一个 XText 语法,编写一个与该语法匹配的示例代码并将其编译为一个 html 文件。

讲师向我们展示了步骤,一切都对他有用......他说“这很简单,对你来说只需 10 分钟的工作”。我相信这一点。然而,在家里几乎没有什么能按预期工作。当然,没有更多的讲座可以去,只有考试可供我参加,我必须证明我做了什么才能通过。而且我发给他的邮件被邮件恶魔退回了……

我从 xtext 网站获得了 Xtext 和 Eclipse IDE,我将其解压缩,然后按照官方教程中的步骤使默认项目模板正常工作。该教程可在此处找到:http ://wiki.eclipse.org/Xtext/GettingStarted

现在我在“模型”这一步。它说打开“MyModel.mydsl”我这样做但编辑器没有打开。它说:

“无法打开编辑器:无法实例化编辑器类。这通常表示缺少无参数构造函数,或者编辑器的类名在 plugin.xml 中输入错误。”

由于生成了所有内容,因此错误消息对我没有帮助...有一个选项可以查看堆栈跟踪(它长达一英里),并且在它的顶部有一个异常:

java.lang.IllegalStateException:捆绑包尚未激活。确保 Manifest.MF 包含“Bundle-ActivationPolicy:lazy”。

我打开 Manifast.MF 和 Bundle-ActivationPolicy: lazy 已设置...

我搜索了解决方案,但无济于事。它把我逼疯了,我放弃了。

我没有使用 Eclipse、Java 和 XText 的经验,我只想做我的功课并忘记一切,直到我再次需要它......

有人对 XText 有经验吗?

任何帮助表示赞赏。

ps:我也会参与,我可能会在几个小时内解决问题。但现在我不知所措。

4

4 回答 4

1

您的 eclipse/XText 安装似乎存在问题。你是怎么安装的?如果您获得了 Eclipse 并在之后添加了插件,则需要确保版本兼容。

这里有一个捆绑发行版

于 2010-05-15T11:43:01.627 回答
1

一种可能性:在部署步骤中,请通过查看插件文件夹内的 Xtext 安装目录来检查您是否真的创建了三个插件?如果它们放置在不同的位置,您可以将它们移动到插件文件夹中。而且,您在安装这些插件后是否重新启动了 Xtext eclipse?除非您重新启动平台,否则平台将无法识别这些插件(和 MyDsl 编辑器)。

于 2010-05-15T15:25:20.893 回答
1

我终于能够解决这个问题。我意识到我可以跳过整个部署步骤,我不需要为我的 DSL 制作语法检查插件。我发现要使事情正常进行,我需要分配所有令牌。

所以

SomeDeclaration:
   'declare' STRING

格式正确的 xtext 但是当我编译我的语言时它不起作用。它会导致很多神秘的错误......

SomeDeclaration
    'declare' declaredStuff=STRING

将要。

这是一个漫长的过程......我做了 10 分钟的工作 8 小时......

我希望这将帮助其他人开始使用 XText。

于 2010-05-15T15:39:47.803 回答
1

当我尝试在 Eclipse 中查看我的 DSL 时,我遇到了完全相同的问题(出现错误“无法打开编辑器:无法实例化编辑器类。”)。

然后,我尝试了所有方法来更改 eclipse 和 xtext 中的配置文件,但没有成功。

我唯一的解决方案是重新安装所有东西。我正在运行 64 位版本的 Windows(64 位 Vista),但只有 32 位 JVM 和 JDK。因此,eclipse 和 xtext 都更新到了最新的 64 位版本,然后才可以正常工作。

我怀疑这是 eclipse 而不是 xtext 的问题,而 Helios(64 位 eclipse)的更新可能是造成差异的原因。

于 2011-05-23T12:44:55.713 回答