14

我是 ANTLR4 的新手,似乎 v4 没有 Eclipse-Plug-In。因此,最好从 .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>

日食 说:

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
4

2 回答 2

17

我创建了以下 Gist,其pom.xml专门用于在 Eclipse 构建期间支持从 ANTLR 4 语法自动生成代码。它包括必要的生命周期信息,以便 m2e 知道代码生成是必要的,并使用 Eclipse 显式添加代码生成文件夹build-helper-maven-plugin,否则 Eclipse 似乎很难找到它。

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

https://gist.github.com/sharwell/4979017

于 2013-02-18T17:31:07.377 回答
1

看看这个 Eclipse 的 Antlr4 插件

https://github.com/jknack/antlr4ide

于 2014-01-13T19:29:06.557 回答