Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 如何自动生成lexer+;使用ANTLR4和Maven的解析器?_Eclipse_Maven_Antlr4 - Fatal编程技术网

Eclipse 如何自动生成lexer+;使用ANTLR4和Maven的解析器?

Eclipse 如何自动生成lexer+;使用ANTLR4和Maven的解析器?,eclipse,maven,antlr4,Eclipse,Maven,Antlr4,我是ANTLR4的新手,似乎v4没有Eclipse插件。因此,从.g4语法自动构建Java源代码会很好。我有一个简单的、空的Maven项目,其中包含src/main/java、src/test/java。在哪里放置.g4文件?如何使用Maven自动构建语法 我自己的POM测试失败: <repository> <id>mvn-public</id> <name>MVNRepository</name> <ur

我是ANTLR4的新手,似乎v4没有Eclipse插件。因此,从.g4语法自动构建Java源代码会很好。我有一个简单的、空的Maven项目,其中包含src/main/java、src/test/java。在哪里放置.g4文件?如何使用Maven自动构建语法

我自己的POM测试失败:

<repository>
    <id>mvn-public</id>
    <name>MVNRepository</name>
    <url>http://mvnrepository.com</url>
</repository>

...

<build>
    <plugins>
        <plugin>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-maven-plugin</artifactId>
            <version>4.0.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>antlr</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我使用
pom.xml
创建了以下要点,该要点专门用于在Eclipse构建期间支持从ANTLR 4语法自动生成代码。它包含了m2e了解代码生成是必要的所需的生命周期信息,并使用
buildhelpermaven插件显式添加了代码生成文件夹,因为Eclipse在其他方面似乎很难找到它

在此配置中,语法文件(
*.g4
)与其他Java源文件一起放置。Maven插件将自动向生成的文件添加适当的
package…
语句,因此您不应该在语法本身中包含
@header{package…}


查看这个用于Eclipse的Antlr4插件


谢谢!当我在pom.xml中注释buildhelpermaven插件时,ANTLR为放置的语法构建词法分析器和解析器。但是对于BuildHelperMaven插件,Eclipse说:“插件执行不在生命周期配置中:org.codehaus.mojo:BuildHelperMaven插件:1.7:AddSource(执行:默认,阶段:GenerateSources)”。如果不手动将target/generatet sources/antl4添加为src文件夹,我就无法使用生成的lexer/parser。还有一个问题:如何提出论点
org.example
不起作用。如果您告诉Eclipse,它将自动下载适当的扩展来使用build helper插件。package子句始终由antlr4目标根据.g4文件在源结构中的位置自动添加。要更改生成代码的包,请将语法本身移动到源代码树中所需的包中。是否有NetBeans版本?@JeffreyGuenther NetBeans适用于“普通”Maven配置,因此最大的更改是只需删除特定于Eclipse的内容。请允许我补充一点,键入
true
是值得的,因为要点只是说
,所以每次更新语法源时都会刷新生成的代码?
Failure to find org.antlr:antlr4-maven-plugin:pom:4.0.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of
central has elapsed or updates are forced