Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119

    [Java] Problema con Eclipse e RMI

    Ho qualche difficolta' nell'utilizzare rmi.
    Dovrei generare stub e skeleton di una classe (Bank.java) che implementa un'interfaccia rmi q quindi pubblicare l'oggetto che tale classe crea mediante l'esecuzione del metodo main.

    Dopo aver compilato la classe Bank.java ed aver ottenuto il file .class ho digitato:
    rmic bank.Bank

    (Progetto=Bank
    Package=bank
    NomeClasse=Bank.java)

    e come risultato ho ottenuto soltanto:
    Bank_Stub.class

    Ho quindi avviato il registro:
    rmiregistry &

    Ed ho avviato il server rmi;
    java Bank

    Ottenendo come risultato:

    RemoteException nel main della banca: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: bank.Bank_Stub

    Dov'e' che ho fatto casino ??
    Temo che il problema nasca con le cartelle/package create da Eclipse.
    Qualcuno che abbia "esperienza" in tal senso ?!?

    thks

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ho utilizzato RMI un po' di tempo fa e mi ricordo poco
    ma mi pare che l'interfaccia, forse lo stub, deve essere visibile alla classe che esegui, Bank

  3. #3
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Originariamente inviato da floyd
    ho utilizzato RMI un po' di tempo fa e mi ricordo poco
    ma mi pare che l'interfaccia, forse lo stub, deve essere visibile alla classe che esegui, Bank
    Gia'... il problema riguarda proprio stub e interfaccia RMI
    Ti dico come e' strutturata l'applicazione "server":
    project: Bank
    package: bank
    All'interno di bank si trova l'interfaccia rmi, la classe che implementa l'interfaccia e le altre classi necessarie ad implementare i metodi messi a disposizione dal servizio rmi.
    Forse interfaccia e stub devono essere posizionati in un'altra posizione ?
    Oppure devo settare opportunamente il classpath ?

    HELP !!

  4. #4
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Credo che sia un problema di classpath ma non so come modificarlo opportunamente.
    Lo stub viene creato nella stessa directory in cui si trova il sorgente che implementa l'interfaccia RMI (Ovvero in Bank/bank)
    Bank = project, bank= package

    Ecco cosa ottengo lanciando il comando (Con stub creato e registro avviato):

    [***@ Bank]$ java bank.E_BankImpl
    RemoteException nel main della banca: java.rmi.ServerException: RemoteException occurred in server thread; nested exceptionis:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: bank.E_BankImpl_Stub

    help

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75
    Avevo aperto un altro 3d per chiedere aiuto per lo stesso problema. Tu hai risolto in qualche modo?

  6. #6
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Originariamente inviato da Makiov
    Avevo aperto un altro 3d per chiedere aiuto per lo stesso problema. Tu hai risolto in qualche modo?
    A me dava quel problema perche' mi capitava di modificare il sorgente e di compilarlo senza generare il nuvo stub. Per questo lo stub utilizzato corrispondeva al vecchio esegubiile e non a quello nuovo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75
    Non si trattava di niente che riguardasse il classpath? quello come hai fatto ad impostarlo?
    Ciao

  8. #8
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Ti posto i "settaggi" del file profile (O del file .bashrc):

    PATH=$PATH:/usr/java/jdk1.5.0_04/bin:.
    CLASSPATH=/usr/java:/home/login/workspace:.
    JAVA_HOME=/usr/java:.
    export PATH JAVA_HOME CLASSPATH

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.