web-dev-qa-db-ja.com

パッケージが存在しないエラー!

ルートディレクトリの下にJavaファイル_com/example/web_を含む_Bear.Java_のようなディレクトリ構造があります。上記と同じルートディレクトリに別のJavaファイル_BearExtra.Java_がディレクトリ構造_com/example/model_にあります。 _BearExtra.Java_から_Bear.Java_のメソッドを呼び出していますが、パッケージが存在しないというエラーが発生します。

Javaファイルに_com.example.model_パッケージをインポートしました。アドバイスはありますか?

12
rdx

これは機能します:

com/example/model/BearExtra.Java

package com.example.model;

public class BearExtra {
  public static void go() {
    System.out.println("Yay, it works!");
  } 
}

com/example/web/Bear.Java

package com.example.web;

import com.example.model.*;

public class Bear {
  public static void main(String[] args) {
    BearExtra.go();
  }
}

これらのクラスをコンパイルして実行するには、comフォルダーを「確認」できるディレクトリに移動して、次のようにします。

* nix/MacOS

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!
17
Bart Kiers

クラスファイルで「パッケージ」を指定しましたか?

Bear.Java

package com.example.web;

import com.example.model.*;

class Bear { ...

BearExtra.Java

package com.example.model;

public class BearExtra { ...
0
Charles Goodwin