构建ANTLR4源以获取源jar

时间:2016-04-17 20:44:45

标签: intellij-idea jar antlr antlr4

我可以从下载页面(http://www.antlr.org/download.html)下载最新的ANTLR4(antlr-4.5.3-complete.jar)。

将jar文件放在IntelliJ项目的lib目录中,使jar作为依赖项,看看一切正常。

我试图通过跟踪调试器来查看ANTLR的源代码,但我不能因为我没有源jar。

我找到了源代码,以及构建ANTLR的指令( How to build ANTLR itself)。但是,该指令使用未包含在源中的bild.py

我从Sam Hawell的tunnelvisionlabs/antlr4找到了bild.py,但是当我复制脚本并运行它时,我遇到了错误:

target all
require compile
require parsers
build compile
skipping mkjar_complete
Traceback (most recent call last):
  File "/Users/smcho/Downloads/antlr4-4.5.3/bilder.py", line 847, in processargs
    target()
  File "bild.py", line 182, in all
    mkjar()
  File "bild.py", line 133, in mkjar
    mkjar_complete()
  File "bild.py", line 80, in mkjar_complete
    require(compile)
  File "/Users/smcho/Downloads/antlr4-4.5.3/bilder.py", line 434, in require
    raise Exception()
Exception
bild failed

可能有什么问题?如何构建ANTLR4以获取源jar文件?

2 个答案:

答案 0 :(得分:1)

maven是构建jar文件的工具,如本文档中所述:https://github.com/antlr/antlr4/blob/master/doc/building-antlr.md

mvn compile完成编译。

要获取源jar文件,应更新pom.xml。

<build>
  <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
   </plugin>
 </plugins>

然后mvn package将在tool/target目录中创建源jar。

enter image description here

对于运行时jar,目标目录为runtime/Java/target

enter image description here

mvn install会将jar安装到本地存储库中。

参考

答案 1 :(得分:1)

如果你想获得源码(和/或javadoc),你应该只使用常春藤。你也可以像你写的那样使用maven,但常春藤更简单恕我直言。 http://mvnrepository.com/artifact/org.antlr/antlr4/4.5.3