Java ANTLR警告:TestRig已移动到org.ANTLR.v4.gui.TestRig

Java ANTLR警告:TestRig已移动到org.ANTLR.v4.gui.TestRig,java,shell,batch-file,cygwin,antlr,Java,Shell,Batch File,Cygwin,Antlr,我一整天都在设法让ANTLR去上班。我使用过几个网站,包括antlr.org、许多StackOverflow查询和Terence Parr的教科书。我在Windows7机器上(工作机器,无法更改为Linux),但我在CommandPrompt和Cygwin上都尝试过,结果相同 无论我做什么,当使用grun文件时,我最终总会遇到同样的错误: 警告:TestRig已移动到org.antlr.v4.gui.TestRig;自动呼叫 无法将Hello作为lexer或解析器加载 我的电脑上有最新版本的JR

我一整天都在设法让ANTLR去上班。我使用过几个网站,包括antlr.org、许多StackOverflow查询和Terence Parr的教科书。我在Windows7机器上(工作机器,无法更改为Linux),但我在CommandPrompt和Cygwin上都尝试过,结果相同

无论我做什么,当使用grun文件时,我最终总会遇到同样的错误:

警告:TestRig已移动到org.antlr.v4.gui.TestRig;自动呼叫 无法将Hello作为lexer或解析器加载

我的电脑上有最新版本的JRE和JDK,还有最新版本的cygwin

我可以在任何地方运行grun和antlr4的批处理文件,因此我强烈猜测我的路径设置是否正确。我可以毫无问题地运行antlr4.bat。它创建了课本上说我应该看到的每个文件:

Hello.g4 HelloBaseListener.java HelloLexer.tokens HelloParser.java Hello.tokens HelloLexer.java HelloListener.java

我可以在这些文件上运行javac,它会生成各种类文件:

HelloBaseListener.class HelloLexer.class HelloListener.class HelloParser$RContext.class HelloParser.class

但是,当我尝试在上面运行grun时,我得到了以下结果:

警告:TestRig已移动到org.antlr.v4.gui.TestRig;自动呼叫 无法将Hello作为lexer或解析器加载

我尝试了几种命令组合来使用grun文件,但书中提到要使用的命令是:

grun.bat Hello r -tree
我还使用grun多次更改了.bat文件,只是为了试验,在书籍和网站上使用了不同的组合,但我总是回到这一点:

java org.antlr.v4.runtime.misc.TestRig %*

这就是我老板告诉我要使用的,而且对他很有效。

我也有同样的问题,实际上这里已经有一个解决方案-->
消息的第一部分“警告:TestRig移动到org.antlr.v4.gui.TestRig;自动调用”仅仅意味着TestRig订单被保存到另一个位置,它仍然有效,但我相应地更改了批处理数据,不再收到警告。消息的第二部分是实际问题(参见链接)。在我的例子中,我忘记了Windows中类路径中的“.”(点)。

grun.bat
命令中使用它

java org.antlr.v4.gui.TestRig %*

这有用吗?不,没什么区别。不过,谢谢。我在OS X 10.9.5和brew安装上也有同样的问题。添加:export CLASSPATH=“.:/usr/local/cillar/antlr/4.5.1/antlr-4.5.1-complete.jar:$CLASSPATH”之后:grun Hello r-tokens警告:TestRig移动到org.antlr.v4.gui.TestRig;自动呼叫如果你能将答案粘贴到你的答案中,那将是很有帮助的-外部链接不可靠,将来可能会丢失,并且对其他有同样问题的人失去任何价值。