【问题标题】:Not able to run JFlex generated lexer Java file无法运行 JFlex 生成的 lexer Java 文件
【发布时间】:2013-04-14 18:04:14
【问题描述】:

所以我使用 JFlex 生成了一个名为 Yylex.java 的文件,没有任何问题。当我尝试使用命令javac Yylex.java 编译它时,我得到了 30 个错误,源于此:

Yylex.java:13: error: package java_cup.runtime does not exist
import java_cup.runtime.Symbol;

这显然是由我的 JFlex 文件中的第一次导入引起的。由于我试图将它与 CUP 一起使用,我读到我需要将 java-cup-11a.jar 文件和 java-cup-11a-runtime.jar 与 Yylex.java 放在同一个文件夹中,我这样做了.有谁知道怎么回事?

【问题讨论】:

    标签: java compiler-construction lex lexer jflex


    【解决方案1】:

    仅仅将 jars 放在 dir 中是不够的,您必须使用 -cp 命令行选项将它们添加到类路径中,例如

    javac -cp ava-cup-11a-runtime.jar Yylex.java

    【讨论】:

    • 假设我还需要将一堆其他 java 文件添加到类路径中。有没有办法永久添加它们,而不是每次都输入它们?
    • 您可以设置 CLASSPATH 环境变量。但是如果你的项目越来越大,你最好使用 ant 或 maven 之类的构建工具来管理这些东西,或者使用 Eclipse 之类的 IDE。它们都可以免费下载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    相关资源
    最近更新 更多