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