Search code examples
javajarcygwinclasspathjavac

Why can't I compile my java file on cygwin, when it needs classes from a jar?


I'm trying to compile my class along with a provided .jar file which contains classes that my class will use.

This is what I've been trying:

javac -classpath .:WordSearch.jar WordSearchSolver.java

And this is the response:

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 errors

This is my class:

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 contains:

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

(WordSearchSolver.java and Wordsearch.jar are in the same directory)

Am I missing something?


Solution

  • It ended up being a combination of semicolons and quotation marks.

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

    Thanks everyone for pointing me in the right direction!