web-dev-qa-db-fra.com

Le paquet n'existe pas d'erreur!

J'ai une structure de répertoire comme com/example/web Sous le répertoire racine contenant un Java fichier Bear.Java. J'ai un autre Java fichier BearExtra.Java Dans la structure de répertoire com/example/model Dans le même répertoire racine que ci-dessus. J'appelle une méthode en BearExtra.Java de Bear.Java Et je reçois l'erreur que le colis n'existe pas.

J'ai importé com.example.model paquet dans mon Java fichier. peut me donner des conseils?

12
rdx

Cela marche:

com/Exemple/Modèle/Beeextra.java

package com.example.model;

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

com/Exemple/Web/Bear.Java

package com.example.web;

import com.example.model.*;

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

Maintenant, pour compiler et exécuter ces classes, accédez au répertoire où vous pouvez "voir" le dossier com et faire:

* nix/macos

javac -cp . com/example/model/*.Java com/example/web/*.Java
java -cp . com.example.web.Bear 

Les fenêtres

javac -cp . com\example\model\*.Java com\example\web\*.Java
java -cp . com.example.web.Bear 

et ce qui suit est imprimé sur la console:

Yay, it works!
17
Bart Kiers

Avez-vous spécifié le "paquet" dans vos fichiers de classe?

Bear.java

package com.example.web;

import com.example.model.*;

class Bear { ...

Beeextra.java

package com.example.model;

public class BearExtra { ...
0
Charles Goodwin