クラスがパッケージ内にある場合
package thepackagename;
public class TheClassName {
public static final void main(String[] cmd_lineParams) {
System.out.println("Hello World!");
}
}
次に呼び出します:
java -classpath . TheClassName
結果は Error: Could not find or load main class TheClassName
になります .これは、完全修飾名で呼び出す必要があるためです:
java -classpath . thepackagename.TheClassName
そしてこの thepackagename
ディレクトリはクラスパスに存在する必要があります。この例では、.
現在のディレクトリを意味する は、クラスパス全体です。したがって、この特定の例は、thepackagename
があるディレクトリから呼び出す必要があります。 存在します。
明確にするために、このクラスの名前は TheClassName
ではありません 、 thepackagename.TheClassName
です . TheClassName
を実行しようとしています その名前のクラスが存在しないため、機能しません .いずれにせよ、現在のクラスパスにはありません。
最後に、ソース コードではなく、コンパイルされた (.class) バージョンが実行されることに注意してください ( .java) バージョン。したがって、「クラスパス」です。
.class
の場所を必ず追加してください ファイルをクラスパスに追加します。したがって、現在のフォルダーにある場合は、 .
を追加します クラスパスに追加します。Windows クラスパスの区切り記号はセミコロン、つまり ;
であることに注意してください。 .