私のディレクトリ構造は次のようになります。
PackagesUnit3/com/myname/start/PackagesTest.java
(このクラスには、メインとインポート ステートメント "import com.systems.mui.*; が含まれています)
PackagesUnit3/com/systems/mui/Test.java
(このクラスには、パッケージ ステートメント「package com.systems.mui;」が含まれています)
PackageUnit3 をベース ディレクトリとして使用すると、次のステートメントで両方のクラスを正常にコンパイルできます。
"javac com/myname/start/PackagesTest.java"
ただし、コマンドでコードを実行できません
"java com.myname.start.PackagesTest"
Error: "Exception in thread "main" java.lang.NoClassDefFoundError: com/myname/start/PackagesTest (wrong name: PackagesTest)"
コンパイラ.class
は、各 Java クラスのファイルを正常に生成し、ソース ファイルと同じ場所に配置しました。
Horstmann によると、「Core Java」第 9 版。p。186、私の「java」コマンド構文は機能するはずです。
クラスパス (-cp) オプションを使用していないため、現在のディレクトリ (".") を指定する必要はありません。
1つのメモ: 「SUBST R:」コマンドを使用して、PackagesUnit3 ディレクトリをベース ディレクトリとして確立しました。私の実際のコマンドラインはR:>のようになります
助言がありますか??