5

私のディレクトリ構造は次のようになります。

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:>のようになります

助言がありますか??

4

2 に答える 2