それはjarファイルからクラスを必要とするとき、なぜ私は、cygwinの上で私のjavaファイルをコンパイルすることはできませんか?
質問
私は私のクラスが使用するクラスが含まれて.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
からクラスのいずれかをインポートされていません。あなたはそれらのパッケージを含むこのクラスの一番上にインポート文が必要です。
所属していません StackOverflow