それはjarファイルからクラスを必要とするとき、なぜ私は、cygwinの上で私のjavaファイルをコンパイルすることはできませんか?

StackOverflow https://stackoverflow.com/questions/1517624

質問

私は私のクラスが使用するクラスが含まれて.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は、同じディレクトリにある)

私は何かが足りないのですか?

役に立ちましたか?

解決 3

これは、セミコロンと引用符の組み合わせになってしまっています。

javac -classpath ".;WordSearch.jar" WordSearchSolver.java
正しい方向に私を指しているため、

みんなありがとう!

他のヒント

あなたはCygwinのにしているが、

、私はJavaコンパイラ/ JVMは、Windows環境で実行されますので、ご使用のパス区切りは、セミコロンでなければならないことを推測している。

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

セミコロンは

(おかげで以下bkailする)のCygwinのシェルによって解釈を防ぐためにエスケープしなければならないことに注意してください

あなたはWordSearch.jarクラスであなたのWordSearchSolverからクラスのいずれかをインポートされていません。あなたはそれらのパッケージを含むこのクラスの一番上にインポート文が必要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top