3

我试图从源代码构建 ANTLR 版本 4,因为我从官方网站下载了它,但我不能使用 ant 来完成。正如build.xml所说,我将antlr-3.5-complete-no-st3.jar下载到/lib文件夹中,但是当我运行ant时它返回:

[mkdir] 创建目录:/../antlr/antlr4-master/build/generated-sources/antlr3/org/antlr/v4/parse [java] 错误(7):找不到或打开文件:*.g

构建失败/../antlr/antlr4-master/build.xml:108:执行此行时发生以下错误:/../antlr/antlr4-master/build.xml:84:Java返回:1

我在运行 OSX 10.8.2 的 MacBook 上为了使用 ant 成功编译,我还需要做些什么吗?

提前致谢, 迪莫斯

4

2 回答 2

1

您需要使用 Maven 从源代码构建 ANTLR 4。

使用 Maven 构建 ANTLR 4

于 2013-03-02T16:49:57.943 回答
0

上面的“Building ANTLR 4 with Maven”链接似乎不可用。请按照以下链接进行 ANTLR 4 maven 构建。这些帮助我实现了 antlr 4 maven build。

https://groups.google.com/forum/#!msg/antlr-discussion/Vw4Ia__sgPk/nDS5Y9YSDGIJ

如何获得有关 antlr4-maven-plugin 的帮助

我的 ANTLR-Maven 插件如下:-

<build>
    <plugins>
        <plugin>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-maven-plugin</artifactId>
            <version>4.0</version>
            <configuration>
                <sourceDirectory>${basedir}/src/main/java/com/test</sourceDirectory>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>antlr4</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

    </plugins>

    <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.antlr</groupId>
                                    <artifactId>
                                        antlr4-maven-plugin
                                    </artifactId>
                                    <versionRange>
                                        [4.0,)
                                    </versionRange>
                                    <goals>
                                        <goal>antlr4</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

<dependencies>
    <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4-maven-plugin</artifactId>
        <version>4.2.2</version>
    </dependency>
</dependencies>
于 2014-12-04T06:02:05.860 回答