【问题标题】:Problem with the import of packets in antlrworksantlrworks中数据包导入问题
【发布时间】:2011-06-23 13:51:44
【问题描述】:

必须创建一个由我定义的包,其中包含一些类,我记得那个包在我执行导入的程序 AntlrWorks 创建的文件 .java 中。名为“com.project.redfox”的包。我使用以下命令编译了代码:“javac Test.java provaParser.java provaLexer.java”,但我得到了该包不存在的错误。

在语法中添加了:

grammar prova;

@hader{
      import com.project.redfox;
}
....something......

我在 NetBeans 开发的项目 redfox 中创建了包“com.project.redfox”,因此目录 com/project/redfox 位于 redfox 目录中。

我该如何解决这个问题?

【问题讨论】:

  • 请发布完整的错误消息或您的 Antlr 语法(如果允许)。
  • @Matt von Rohr:"com.wikirates 包不存在 import com.wikirates.core;"
  • @Tanuzzo88, com.wikirates 不在您的类路径中。编译器找不到它们。你真的只做javac Test.java parser.java lexer.java吗? ANTLR jar 在您的类路径中吗?可以发一下你的语法和Test.java 类吗?
  • @Bart Kiers:在编译之前,运行:export CLASSPATH= .../antlr-3.3/lib/antlr-3.3-complete.jar,然后运行:“java org.antlr.Tool prova .g”,然后运行:“javac Test.java parser.java lexer.java”。
  • 不,那就是javac Test.java provaParser.java provaLexer.java。但就像我之前说的:你的编译器找不到你可能在 com.project.redfox 包的某个类中使用的 com.wikirates

标签: java import package javac antlrworks


【解决方案1】:

正式回答您的问题:javac 找不到您可能在com.project.redfox 中使用的包com.wikirates

请注意,我假设 redfox 是一个类。如果它是一个包,则需要从其中导入所有类,如下所示:import com.project.redfox.*; 而不是import com.project.redfox;(假设com.project.redfox...中有类)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2023-04-08
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多