OVH Cloud OVH Cloud

Acces inter packages

3 réponses
Avatar
Deep_silence_fr
Salut tous.

J'ai un probleme de communication entre packages.
J'ai deux packages dans deux repertoires: NoeUtils et NoeJava
Dans les .java de chque package, j'ai bien spécifié au début package
NoeUtils ou NoeJava.

Mais depuis un fichier de NoeJava qui importe une classe de l'autre
package, la compilation bloque sur :
"JavaNoeGenereVisitor.java:5: package NoeUtils does not exist
import NoeUtils.*;"

Je ne comprends pas trop ce qui se passe. Est il impossible d'acceder
d'un package à un autre? Ou y a t il un subtilité que je ne connais
pas???

3 réponses

Avatar
Frédéric Augé
Deep silence wrote:

Salut tous.

J'ai un probleme de communication entre packages.
J'ai deux packages dans deux repertoires: NoeUtils et NoeJava
Dans les .java de chque package, j'ai bien spécifié au début package
NoeUtils ou NoeJava.

Mais depuis un fichier de NoeJava qui importe une classe de l'autre
package, la compilation bloque sur :
"JavaNoeGenereVisitor.java:5: package NoeUtils does not exist
import NoeUtils.*;"

Je ne comprends pas trop ce qui se passe. Est il impossible d'acceder
d'un package à un autre? Ou y a t il un subtilité que je ne connais
pas???


Salut,

pour commencer, pas de majuscules dans les noms de package.
Voir les conventions de codage Sun:
http://java.sun.com/docs/codeconv/
et plus précisemment:
http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html#367

Ensuite, on évite d'utiliser des imports trop généraliste, se terminant
par .*, on importe seulement les classes utilisées.
ex:
import java.util.ArrayList;
plutôt que java.util.*;

Tu devrais utiliser un IDE, il t'aurait signalé qu'on ne met pas de
majuscule dans les noms de packages, et ajoutera les imports lui-même !
Et tu n'auras probablement plus ton problème de package.

Frédéric

Avatar
captainpaf
"Deep silence" a écrit dans le message de news:

Salut tous.

J'ai un probleme de communication entre packages.
J'ai deux packages dans deux repertoires: NoeUtils et NoeJava
Dans les .java de chque package, j'ai bien spécifié au début package
NoeUtils ou NoeJava.

Mais depuis un fichier de NoeJava qui importe une classe de l'autre
package, la compilation bloque sur :
"JavaNoeGenereVisitor.java:5: package NoeUtils does not exist
import NoeUtils.*;"

Je ne comprends pas trop ce qui se passe. Est il impossible d'acceder
d'un package à un autre? Ou y a t il un subtilité que je ne connais
pas???


Salut,

oui bien sûr, on peut accéder d'un package à un autre. Vérifie bien que tes
packages sont dans le classpath sinon le compilateur ne pourra pas les
trouver. Vérifie bien aussi que tu as la ligne package NoeUtils au début de
tous les fichiers sources des class de ce package. Et tout devrait rouler.
Pour info. : Par convention, le nom des packages est en minuscule.

Avatar
Deep_silence_fr
Merci pour vos réponses, les problèmes venaient de mon classpath.