我正在尝试用 Maven 构建一个 ANTLR 项目,项目结构就像
src/main +
|-antlr4
|-fo/bar
|-G1.g4
|-G2.g4
|-imports
其中 G1 导入 G2 如下:
grammar G1;
import G2;
但是,当我使用 Maven 构建时,出现以下错误:
[ERROR] Message{errorType=CANNOT_FIND_IMPORTED_GRAMMAR, args=[G2, fo\bar\G1.g4], e=null, fileName='null', line=-1, charPosition=-1}
如果我将G1.g4
和G2.g4
直接放在antlr4
目录下,它可以正常工作。在我看来,当把语法文件放在一个包中时,它需要在 import 语句中使用特殊的语法。
我注意到Antlr4 maven 插件在不同目录中找不到语法文件的问题,但是在这里,语法在一个目录中。