0

我正在尝试编译我的类以及提供的 .jar 文件,其中包含我的类将使用的类。

这是我一直在尝试的:

javac -classpath .:WordSearch.jar WordSearchSolver.java

这是回应:

WordSearchSolver.java:16: cannot find symbol
symbol  : class PuzzleWord
location: class WordSearchSolver
    public ArrayList<PuzzleWord> findwords()
                 ^
WordSearchSolver.java:18: cannot find symbol
symbol  : class PuzzleWord
location: class WordSearchSolver
    return new ArrayList<PuzzleWord>();
                         ^

2 个错误

这是我的课:

import java.util.ArrayList;

public class WordSearchSolver
{
    public WordSearchSolver(int size, char[][] puzzleboard, ArrayList<String> words)
    {

    }

    public ArrayList<PuzzleWord> findwords()
    {
        return new ArrayList<PuzzleWord>();
    }
}

WordSearch.jar 包含:

PuzzleUI.class
PuzzleWord$Directions.class
PuzzleWord.class
Natural.class

(WordSearchSolver.java 和 Wordsearch.jar 在同一个目录下)

我错过了什么吗?

4

3 回答 3

3

尽管您使用的是 Cygwin,但我猜您的路径分隔符应该是分号,因为 Java 编译器/JVM 将在 Windows 环境中运行。

javac -cp .\;WordSearch.jar ...

请注意,必须对分号进行转义以防止 Cygwin shell 解释(感谢下面的 bkail)

于 2009-10-04T22:57:34.740 回答
1

您没有从您的班级中导入任何WordSearch.jar班级WordSearchSolver。您需要此类顶部的导入语句,包括它们的包。

于 2009-10-04T23:04:43.117 回答
0

它最终成为分号和引号的组合。

javac -classpath ".;WordSearch.jar" WordSearchSolver.java

感谢大家为我指明正确的方向!

于 2009-10-05T05:57:20.900 回答