IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

probleme package


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut probleme package
    Bonjour,bonsoir,

    Nb: je poste ici, sans etre vraiment certain que c'est au bon endroit ...

    Donc voilà, j'ai un petit probleme de package il me semble, je m'explique:

    Je souhaite faire un client/serveur avec RMI. Le client va se connecter au serveur et va lui demander de faire un echo. Jusque la, tout est basique .

    Quand je met le tout dans un seul package ( testRMI) ca fonctionne, bonne compilation, execution, pas de probleme avec java.policy,etc ... c'est nickel .

    Par contre, j'ai des difficultées à en faire 2 packages, afin de scinder en 2 le programme. Les packages testClient et testServeur.

    Le testCLient doit contenir ( am on avis) Client ; testInterface
    Le testServeur lui contiendrait: Serveur ; testInterface : testImpl ( et par la suite testImpl_stub).

    NB: les repertoire src/testClient et src/testServeur contient donc ces fichiers dans le meme principe que les package dit ci-desssus.

    j'ai donc mis "package testServeur;" pour Serveur ; testInterface : testImpl et "package testClient;" pour client.

    en etant a la racine du projet,pour compiler le serveur, je fait :
    javac -d classes/ -sourcepath src `find src/testServeur -name "*.java"`

    La compilation se passe bien ...

    Par contre, pour compiler, en utilisant :
    javac -d classes/ -sourcepath src `find src/testClient -name "*.java"` . Ca veut plus compiler, il me dit :

    javac -d classes/ -sourcepath src `find src/testClient -name "*.java"`
    src/testClient/Client.java:25: cannot find symbol
    symbol : class testInterface
    location: class testClient.Client
    testInterface od1 = null;
    ^
    src/testClient/Client.java:28: cannot find symbol
    symbol : class testInterface
    location: class testClient.Client
    od1 = (testInterface)Naming.lookup(url);
    ^
    2 errors

    le code de l'interface qui au final j'ai besoin pour compiler le serveur comme le client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     package  testServeur;
     
     import java.rmi.*;
     
     /**
      * Interface testInterface
      */
    public interface testInterface extends Remote
    {
    	public String echo(String str) throws RemoteException;
     
    }// testInterface
    J'ai donc essayer de mettre le fichier d'interface (testInterface) dans les 2 repertoires (src/testClient et src/testServeur), mais voici ce que la compilation me dit:
    javac -d classes/ -sourcepath src `find src/testClient -name "*.java"`
    src/testClient/testInterface.java:8: duplicate class: testServeur.testInterface
    public interface testInterface extends Remote
    ^
    src/testClient/Client.java:25: cannot access testClient.testInterface
    bad class file: src/testClient/testInterface.java
    file does not contain class testClient.testInterface
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    testInterface od1 = null;
    ^
    2 errors
    Quelqu'un aurait-il une idée sur comment organiser, et comment faire, afin de pouvoir separer en 2 packages, l'un pour le serveur, et l'autre pour le client? merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Aucune idée ?

    Sinon, est-il possible de faire en sorte que ce fichier interface soit dans un package autre, du style, lib et que le client ainsi que le serveur doit l'importer ?

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ton problème vient du fait que tu ne spécifies pas le classpath et que par défaut il correspond au répertoire courant. Donc le compilateur recherchera les classes compilé dans le répertoire courant au lieu de ton répertoire classes...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -d classes/ -classpath classes/ -sourcepath src `find src/testClient -name "*.java"`
    a++

Discussions similaires

  1. problem package javax.servlet.http
    Par moery dans le forum JSF
    Réponses: 8
    Dernier message: 08/03/2010, 12h15
  2. probleme "package does not exist"
    Par fangriz dans le forum Général Java
    Réponses: 10
    Dernier message: 29/07/2009, 17h30
  3. probleme package jung
    Par guitariste dans le forum NetBeans
    Réponses: 0
    Dernier message: 07/03/2009, 18h11
  4. probleme package java
    Par savoir_plus dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/02/2008, 10h47
  5. probleme package javax.mail
    Par gianni17 dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2006, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo