Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse ANTLR4不';不能在Maven中使用自定义配置_Eclipse_Maven_Antlr_Antlr4 - Fatal编程技术网

Eclipse ANTLR4不';不能在Maven中使用自定义配置

Eclipse ANTLR4不';不能在Maven中使用自定义配置,eclipse,maven,antlr,antlr4,Eclipse,Maven,Antlr,Antlr4,我总是在Eclipse中成功地将ANTLR4与Maven结合使用。 我只想更改存储语法的默认目录,因为我不喜欢标准路径src/main/antlr4。这个路径的问题是创建一个新的java包,这是我真正不想要的。 所以我决定在我的项目中创建另一个名为grammar的目录,其中包含另一个名为imports的目录。我只是按照网站指南做的。 尽管如此,当我更改语法时,它不会自动生成新的源代码,即使使用maven命令也是如此 这是我的配置文件pom.xml: <!-- ANTLR4 -->

我总是在Eclipse中成功地将ANTLR4与Maven结合使用。 我只想更改存储语法的默认目录,因为我不喜欢标准路径src/main/antlr4。这个路径的问题是创建一个新的java包,这是我真正不想要的。 所以我决定在我的项目中创建另一个名为grammar的目录,其中包含另一个名为imports的目录。我只是按照网站指南做的。 尽管如此,当我更改语法时,它不会自动生成新的源代码,即使使用maven命令也是如此

这是我的配置文件pom.xml:

<!-- ANTLR4 -->
        <plugin>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-maven-plugin</artifactId>
            <version>4.5.3</version>
            <executions>
                <execution>
                    <configuration>
                        <goals>
                            <goal>antlr4</goal>
                        </goals>
                        <libDirectory>grammar/imports</libDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>

org.antlr

如您所见,目标目录为空。在进行此更改之前,内部有一个生成的sources目录,其中包含所有.java文件

那么,错误在哪里呢?

正确的方法是:

<!-- ANTLR4 -->
        <plugin>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-maven-plugin</artifactId>
            <version>4.5.3</version>
            <executions>
                <execution>
                        <goals>
                            <goal>antlr4</goal>
                        </goals>
                        <configuration>
                            <libDirectory>grammar/imports</libDirectory>
                        </configuration>
                </execution>
            </executions>
        </plugin>  

org.antlr
及

事实上,ANTLR4 Maven插件中的文档是错误的:

是的,这就是错误所在。尽管如此,现在调试告诉我在我的自定义路径中没有要编译的语法。我还缺什么吗?谢谢。因为
是导入语法和令牌文件的位置。ANTLR语法文件(*.g4)所在的目录由
配置。根据,默认值为${basedir}/src/main/antl4。非常有用。谢谢