|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2010
Messaggi: 61
|
[Java RMI] Problema a compilare da Shell e Problema con File .JAR Condiviso in LAN
Buonasera a tutti,
mi sto cimentando un pochino con la programmazione ad oggetti remoti con Java, ho creato la mia prima applicazione semplice semplice per prendere un po di confidenza con le RMI di Java, ho implementato il classico programmino Echo tra server e client per intenderci , bene ho sviluppato tutto tramite Eclipse e già testato con successo sia facendo girare in locale sulla stessa JVM server e client, che in "remoto", ovvero eseguendo il server sul pc fisso con windows e il client sul portatile con Ubuntu (entrambi si trovano all'interno della stessa lan wireless) e viceversa, sempre eseguendo il tutto tramite Eclipse. Nel dettaglio, questo è il package di tutte le classi che ho usato: Codice:
-stub/Echo.class (interfaccia remota) -skeleton/EchoEngine.class (implementazione dei servizi remoti) -server/EchoServerApp.class (server) -client/VocePerEco.class (client) Bene, veniamo al problema, ovvero l'idea era di provare ora a "distribuire" il client ed il server sulle due macchine e farli girare da terminale, ovvero, l'idea sarebbe di creare due cartelle su Desktop/Scrivania, una sul client, contenente quindi solo la classe VocePerEco.class e lo stub sotto forma di .jar, nel dettaglio la cartella sul client ha questo package: Codice:
-client/VocePerEco.java -stub/Echo.jar Codice:
-stub/Echo.jar -skeleton/EchoEngine.java -server/EchoServerApp.java Codice:
javac -cp .:/home/giangi/Scrivania/Prova/stub/Echo.jar client/VocePerEco.java error: package stub does not exist che viene lanciato non appena va a processare la linea sul sorgente del client dove importo lo stub, ovvero: Codice:
import stub.Echo; Qualsiasi suggerimento è bene accetto , grazie a tutti per l'attenzione!!! Ultima modifica di GiangiTerracina : 07-01-2015 alle 10:37. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: May 2010
Messaggi: 61
|
Allora, ho parzialmente risolto, anzi raggirato il problema, anzichè ricompilare il sorgente del client ho copiato nella cartella del client sulla Scrivania direttamente il .class compilatomi da Eclipse, dopodichè ho esportato la directory dell'applicativo nel CLASSPATH ed ora finalmente funge!
![]() Continuo però a non capire perchè non riesco a compilare direttamente da terminale... ![]() Sicuro è una baggianata ma non avendo mai compilato da shell non mi ci raccapezzo! ![]() Ora mi rimangono piuttosto però un paio di dubbi sul file .JAR, e qui mi servirebbe qualcuno esperto sulla programmazione RMI, quando lavoro su Eclipse, il file .JAR faccio bene a metterlo tra le risorse del progetto, ovvero nella cartella "src", o dovrei metterlo in altra cartella? Questo pacchetto .jar con lo stub delle interfaccie remote inoltre andrebbe reso disponibile su indirizzi pubblici (quindi in teoria su cartella in sharing pubblico sul pc), quindi, sempre in teoria, non dovrei copiarlo a mano anche nel progetto del client giusto? Dovrei piuttosto scrivere nel codice del client qualcosa tipo: Codice:
import "IndirizzoIPdelServer???".CartellaPubblica.Echo; E' corretto? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:40.