我正在使用main/resources/antlr-4.2-complete.jar外部库。我已经将它包含在我的类路径中。但是当我运行测试目标时,在 Eclipse 中我收到以下消息
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.048 sec <<< FAILURE!
checkGrammar(br.com.stoneage.GrammarTest) Time elapsed: 0.011 sec <<< ERROR!
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
Run Code Online (Sandbox Code Playgroud)
所以我知道测试目标不是寻找antlr-4.2-complete.jar。我该如何解决这个问题?
这是我的 POM 文件:
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.048 sec <<< FAILURE!
checkGrammar(br.com.stoneage.GrammarTest) Time elapsed: 0.011 sec <<< ERROR!
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
Run Code Online (Sandbox Code Playgroud)
根据您的评论,我强烈建议您在 POM 中声明对 ANTLR JAR 的依赖关系。
使用 Maven 等工具的主要好处之一是您不再需要链接到磁盘上的物理 JAR。相反,您可以通过如下语句告诉 Maven 您想要使用 ANTLR:
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4</artifactId>
<version>4.2</version>
<!-- If you only need the JAR in test, add the following line too -->
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
使用http://mvnrepository.com/artifact/org.antlr/antlr4/4.2等工具搜索您需要的其他 JAR。
听起来你需要阅读有关 Maven 的内容。这是一个非常酷的产品,但如果没有一些基本知识,你就无法真正启动一个项目。
| 归档时间: |
|
| 查看次数: |
9429 次 |
| 最近记录: |