无法创建parboiled解析器

时间:2013-02-19 16:36:45

标签: java parboiled

我根据this simple example创建了一个用于parboiled框架的解析器类:

package my.package;

import org.parboiled.BaseParser;
import org.parboiled.annotations.BuildParseTree;

@BuildParseTree
public class QueryParser extends BaseParser<Object> {
    //some rules
}

如果我尝试创建解析器,如示例

所示
QueryParser parser = Parboiled.createParser(QueryParser.class);

我在那一行得到一个例外:

java.lang.ClassCastException: my.package.QueryParser$$parboiled cannot be cast to org.parboiled.BaseParser
    at org.parboiled.Parboiled.createParser(Parboiled.java:56)
    ...

我真的没有做任何在示例中没有做过的特殊事情。唯一的区别是解析器和调用它的类在不同的项目中,但我无法想象为什么这应该重要。项目之间的依赖关系(Eclipse插件项目)应该没问题。

任何人都能说出我做错了什么或错误可能在哪里?

1 个答案:

答案 0 :(得分:1)

它实际上似乎与运行配置有关。我把所有已经预先设定的相关代码移到了一个项目中,然后才有效。我想我会保持这种方式,因为无论如何它都是更好的封装。