2014-09-21 83 views
1

我想安装preon并在IntelliJ中运行它。如何安装Preon?

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

然后我用IntelliJ打开项目。

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

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

这里是前几个错误,我得到:

...前子主/前子-EL/src目录/主/ JAVA /组织/ Codehaus的/前子/ EL/Expressions.java

  • 错误:(151,24)java:找不到符号符号:class LimboWalker location:class 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:找不到 符号符号:class LimboParser location:class org.codehaus.preon.el.E​​xpress离子
  • 错误:(160,9)的java:找不到 符号符号:类LimboWalker位置:类 org.codehaus.preon.el.E​​xpressions
  • 错误:(160,55)的java:找不到 符号符号:类LimboWalker位置:包 org.codehaus.preon.el

出于某种原因,编译器无法找到自己的项目凌波类。

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

回答

2

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

有一个ANTLRWorks插件的IntelliJ支持ANTLR版本3, 但它是最后更新在2009年似乎并没有在的IntelliJ工作13

有一个新的“ANTLR V4语法插件”这是积极维护,但 它只适用于ANTLR 4,并且preon仍然在ANTLR 3上。

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

你需要做的是:右键单击项目中的preon-el,然后选择Maven→生成源和更新文件夹菜单选项 。这将呼叫 Maven插件从LimboWalker.g等产生LimboWalker.class

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

+0

谢谢安德鲁,你的回答解决了我的问题。谢谢!我有另一个问题。我已阅读关于Preon 2.0的参考资料,其中包括编码器和解码器,以及分析十六进制转储的能力。我使用最新的V2.0吗? – ClarkS 2014-09-22 02:27:28

+0

@ClarkS它看起来不像2.0有史以来建造。目前github版本是1.1,一年内没有提交,两年内没有新功能。如果您有兴趣,请[联系开发人员](http://stackoverflow.com/users/136476/wilfred-springer)。 – andrewdotn 2014-09-22 03:00:46