最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】运行grun Hello r -tree出错:Can’t load Hello as lexer or parser

ANTLR crifan 6787浏览 0评论

【问题】

参考:

Getting Started with ANTLR v4

去运行到:

grun Hello r -tree

 

结果出错:

Can’t load Hello as lexer or parser

【解决过程】

1.另外一台,同样的电脑中,是没有此错误的。

2.当前出错的电脑中,java是1.6的u38版本的,所以换用和另外一台电脑中的,同样的版本的java 1.6.0:

java version "1.6.0"

Java(TM) SE Runtime Environment (build 1.6.0-b105)

Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)

结果问题依旧。

 

【总结】

真的不知道是什么原因。感觉像是ANTLR4,不稳定所导致的。


【后记 2013-01-24】

后来得知,原来是设置CLASSPATH,把最开始前面的那个点,表示当前路径的那个字符点"."不小心忘掉了:

;%JAVA_HOME%\jre\lib\rt.jar;D:\DevTool\DD_Parser\Parser\ANTLR\antlr\antlr-4.0-complete.jar;

加上对应点,变成:

.;%JAVA_HOME%\jre\lib\rt.jar;D:\DevTool\DD_Parser\Parser\ANTLR\antlr\antlr-4.0-complete.jar;

就可以了。

然后才想通了,其实加上了点,表示从当前路径找,这样才能找到对应的:

HelloParser.class

HelloLexer.class

然后才能正常执行。

没加点,所以就找不到lexer or parser

转载请注明:在路上 » 【已解决】运行grun Hello r -tree出错:Can’t load Hello as lexer or parser

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. 现在JAVA环境,不用在classpath里添加内容,也可运行java。所以我的classpath里面,只有 C:\Javalib\antlr-4.0-complete.jar 。然后还是出错:Can’t load Hello as lexer or parser 要怎么办呀
    Dylan10年前 (2013-12-20)回复
    • 我没说清楚,应该没有出错,但是不是在输入完 $ grun Hello r -tree hello parrt ^D (r hello parrt) 输入这些代码后,程序就停住了?
      Dylan10年前 (2013-12-20)回复
      • 是啊。这就是,正常的输出。
        crifan10年前 (2013-12-22)回复
89 queries in 0.149 seconds, using 22.15MB memory