ルートディレクトリの下にJavaファイル_com/example/web
_を含む_Bear.Java
_のようなディレクトリ構造があります。上記と同じルートディレクトリに別のJavaファイル_BearExtra.Java
_がディレクトリ構造_com/example/model
_にあります。 _BearExtra.Java
_から_Bear.Java
_のメソッドを呼び出していますが、パッケージが存在しないというエラーが発生します。
Javaファイルに_com.example.model
_パッケージをインポートしました。アドバイスはありますか?
これは機能します:
package com.example.model;
public class BearExtra {
public static void go() {
System.out.println("Yay, it works!");
}
}
package com.example.web;
import com.example.model.*;
public class Bear {
public static void main(String[] args) {
BearExtra.go();
}
}
これらのクラスをコンパイルして実行するには、com
フォルダーを「確認」できるディレクトリに移動して、次のようにします。
javac -cp . com/example/model/*.Java com/example/web/*.Java
java -cp . com.example.web.Bear
javac -cp . com\example\model\*.Java com\example\web\*.Java
java -cp . com.example.web.Bear
次のものがコンソールに出力されます。
Yay, it works!
クラスファイルで「パッケージ」を指定しましたか?
Bear.Java
package com.example.web;
import com.example.model.*;
class Bear { ...
BearExtra.Java
package com.example.model;
public class BearExtra { ...