我正在尝试在 Windows 上安装 Antlr 4.4 以使用 pyfuzzy,这是一个用于模糊逻辑的 Python 库,它依赖于 Antlr 的 Python 运行时来运行。我已经尝试(天真地)在没有安装 Antlr 的情况下为 Python (2.7) 获取 Antlr 运行时,这当然没有成功。
因此,我尝试按照 Windows 的说明安装 Antlr,但每次尝试运行它时都会收到错误消息:
Error: Could not find or load main class org.antlr.v4.Tool
antlr .jar 文件位于 C:\JavaLib 中,根据安装说明逐字创建的两个批处理文件(antlr4.bat、grun.bat)也在 C:\JavaLib 中。
我的 CLASSPATH 是(我没有一个 CLASSPATH 开始,所以我用我的主 Java 目录和 .jar 文件的路径创建了一个):
C:\Program Files\Java\jdk1.7.0_21\lib;C:\Javalib\antlr4-complete.jar;
我的 PATH 是(尽管我完全确定这是否相关):
C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\MinGW\bin;C:\QtSDK\mingw\bin; C:\Software\jflex-1.5.0\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Python27;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\DLR\Sumo\bin\;C:\JavaLib
编辑 :
已经切换到 Antlr v 3.5.2,相应地更新了 CLASSPATH,但是我仍然遇到同样的问题。
即命令 java org.antlr.Tool -3.5.2
导致同样的错误。
注意:没有更新 .bat 文件,因为 v3 安装说明没有提到它们。
最佳答案
为我解决的是:将 antlr jar 移动到临时文件夹。即 c:\tmp
然后设置类路径 = c:\tmp\antlr...
出于某种原因,无论我尝试什么,它都无法在任何“程序”目录或子目录中工作。
关于antlr - 安装 Antlr v4.4 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993637/