Ich habe eine Verzeichnisstruktur wie com/example/web
unter dem Root-Verzeichnis, das eine Java-Datei enthält Bear.java
. Ich habe eine andere Java-Datei BearExtra.java
in der Verzeichnisstruktur com/example/model
im selben Stammverzeichnis wie oben. Ich rufe eine Methode an BearExtra.java
von Bear.java
und ich bekomme den Fehler, dass das Paket nicht existiert.
Ich habe importiert com.example.model
Paket in meiner Java-Datei. Kann mir ein Rat geben?
Antworten:
14 für die Antwort № 1Das funktioniert:
com / Beispiel / Modell / BearExtra.java
package com.example.model;
public class BearExtra {
public static void go() {
System.out.println("Yay, it works!");
}
}
com / Beispiel / Web / Bear.java
package com.example.web;
import com.example.model.*;
public class Bear {
public static void main(String[] args) {
BearExtra.go();
}
}
Jetzt, um diese Klassen zu kompilieren und auszuführen, gehen Sie zu dem Verzeichnis, in dem Sie die "sehen" können com
Ordner und tun:
* Nix / MacOS
javac -cp . com/example/model/*.java com/example/web/*.java
java -cp . com.example.web.Bear
Windows
javac -cp . comexamplemodel*.java comexampleweb*.java
java -cp . com.example.web.Bear
und Folgendes wird auf die Konsole gedruckt:
Yay, it works!
0 für die Antwort № 2
Hast du das "Paket" in deinen Klassendateien angegeben?
Bear.java
package com.example.web;
import com.example.model.*;
class Bear { ...
BearExtra.java
package com.example.model;
public class BearExtra { ...