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

API standards et tierces Java Discussion :

[RMI] Probleme pour retrouver la classe implementée.


Sujet :

API standards et tierces Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 84
    Points : 232
    Points
    232
    Par défaut [RMI] Probleme pour retrouver la classe implementée.
    Bonjour,

    J'ai mis une arborescence suivante : fr.appli.client pour le client, fr.appli.object pour les objets et fr.appli.serveur pour le serveur.

    Je crée l'ensemble de mes classes dont Math dans la classe objet qui implemente MathInterface.

    Ensuite, je fais rmiregistry et rmic fr.appli.object.Math. Le serveur me lance cette application :

    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: fr.alti.object.Math
    at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Unknown Source)
    at fr.alti.serveur.Serveur.main(Serveur.java:30)
    Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: fr.alti.object.Math
    at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: fr.alti.object.Math
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
    at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
    at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)
    at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)
    at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    ... 9 more

    Je précise que quand j'ai mis l'ensemble des classes dans le package par défault, ca marchait nickel. Faut-il modifier le PATH ou le CLASSPATH pour que ca marche?

    Merci beaucoup.

    Koko22

  2. #2
    Expert éminent

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Points : 8 235
    Points
    8 235
    Par défaut
    java.lang.ClassNotFoundException: fr.alti.object.Math
    Ton probleme vient peut etre de la... Tu dois appeler quelque part ta classe avec le paquet alti au lieu de appli

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 84
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    L'erreur est la suivante :

    Il faut définir dans la variable java.rmi.server.codebase le skeleton, le service ainsi que l'interface du service.

    Koko22

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme pour retrouver les methodes dans la classe instancié
    Par philo71 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/05/2008, 09h26
  2. Probleme pour indentifier une class
    Par L4BiN dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 10/10/2007, 11h27
  3. Probleme pour loader une class en utilisant la reflexion
    Par superfly dans le forum Framework .NET
    Réponses: 1
    Dernier message: 18/09/2007, 18h27
  4. Réponses: 3
    Dernier message: 13/08/2005, 15h18
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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