1

我正在尝试安装 preon 并在 IntelliJ 中运行它。

我已经从https://github.com/preon/preon下载了源代码。

然后我用 IntelliJ 打开项目。

然后我下载 pecia 并将其作为模块导入 preon 项目。

然后我尝试在 ...preon-master/preon-samples/preon-sample-bmp/src/test/java/org/codehaus/preon/sample/bmp/BitmapFileTest.java 运行 BitmapFileTest 程序

这是我得到的前几个错误:

...preon-master/preon-el/src/main/java/org/codehaus/preon/el/Expressions.java

  • 错误:(151、24)java:找不到符号符号:类 LimboWalker 位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(154、9)java:找不到符号符号:类 LimboLexer 位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(154、32)java:找不到符号符号:类 LimboLexer 位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(156、9)java:找不到符号符号:类 LimboParser 位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(156、34)java:找不到符号符号:类 LimboParser 位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(160、9)java:找不到符号符号:类 LimboWalker 位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(160、55)java:找不到符号符号:类 LimboWalker 位置:包 org.codehaus.preon.el

由于某种原因,编译器无法在自己的项目中找到 Limbo 类。

我需要做什么才能构建和运行这个示例项目?

4

1 回答 1

2

问题是这些类是由 ANTLR 从Limbo.g和 生成的LimboWalker.g,但 IntelliJ 不会自动知道如何使用 ANTLR 来构建它们。

IntelliJ 有一个支持 ANTLR 版本 3 的 ANTLRWorks 插件,但它最后一次更新是在 2009 年,似乎在 IntelliJ 13 中不起作用。

有一个更新的“ANTLR v4 语法插件”正在积极维护,但它仅适用于 ANTLR 4,preon 仍在 ANTLR 3 上。

但是 ANTLR 的 Maven 插件是稳定的并且可以构建它。

您需要做的是:在 Project 中右键单击 preon-el,然后选择 Maven → Generate Sources and Update Folders 菜单选项。这将调用 Maven 插件来生成LimboWalker.classfromLimboWalker.g等。

然后选择 Build → Make Project,然后BitmapFileTest运行。

于 2014-09-21T23:04:16.340 回答