パッケージでJavaクラスを実行 - >エラー:基本クラスを見つけるかロードできません。

パッケージでJavaクラスを実行 - >エラー:基本クラスを見つけるかロードできません。

私はjavacとjavaコマンドを使って端末でJavaクラスをコンパイルして実行する方法を学びます。問題なく単一のクラスをコンパイルして実行できますが、クラスをパッケージに入れて実行しようとすると、「エラー:基本クラス(クラス名)を見つけるかロードできません」というメッセージが表示されます。

現在私のディレクトリ構造は次のとおりです。~/Desktop/OCA_Practice/cert私が実行しているファイルの名前はでありTest.java、このファイルをというパッケージに入れましたcert。私の非常に基本的なクラスは次のとおりです。

package cert;
public class Test {
    public static void main(String args[]) {
        System.out.println("This is a test.");
    }
}

certディレクトリでコマンドを実行するとjavac Test.javaクラスは正常にコンパイルされますが、java Testコンパイル後に実行しようとするとエラーが発生します。プログラムを実行しようとすると、クラスに加えて、に示すようにjava Desktop.OCA_Practice.cert.Testフォルダ構造を実行しようとしても機能しません。クラスのパッケージ宣言を次のように変更しましたが、Desktop.OCA_Practice_Probs.certそのうちの1つも機能しません。

私は成功せずに様々な方法を試しました。クラスファイルにパッケージ名を誤って書きましたか?コマンドを実行しました。java -version実行中としてマークされているjava version "1.8.0_25"ので、クラスパスが正しく設定されていると確信しています。

どんな答えでもよろしくお願いします。

答え1

Javaでクラスを実行するときは、フォルダーとファイル名と一致するように正しい場所に完全なパッケージ名とクラス名を指定する必要があります。

したがって、あなたの場合は、もともとpackage cert;クラスで宣言してビルドし、次のように実行します。

cd ~/Desktop/OCA_Practice
java cert.Test

答え2

パッケージのクラスを実行するには、必ずパッケージの親ディレクトリでクラスを実行してください。
あなたの場合は、次のコマンドを使用してOCA_Practiceディレクトリで端末を開きます。
cd ~/デスクトップ/OCA_Practice
次に、javaの後にパッケージ名を使用して、コマンドを介してクラスファイルを実行します。
Java証明書のテスト

関連情報