|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2009
Messaggi: 33
|
[JAVA]Problema con rmi Java
Ciao ragazzi,
sono alle prime armi con l'rmi di java, stavo provando a far girare questa applicazione di prova ma dopo aver compilato questi tre file, quando scrivo il comando rmic RMIServerImpl per creare gli stub e gli skeleton mi da un errore: class RMIServerImpl not found....come mai? Spero in un vostro aiuto e in attesa di un aiuto vi ringrazio anticipatamente. Ah dimenticavo di seguito riporto il codice: /** * @(#)RMIClient.java * * * @author * @version 1.00 2009/7/21 */ import java.rmi.*; public class RMIClient { public static void main(String[] args) { try { System.out.println("Looking up server..."); RMIServer server = (RMIServer) Naming.lookup("rmi://"+args[0]+"/Documents and Settings/JFK/Desktop/rmi_prove"); System.out.println("Server bound..."); server.print("prima prova"); server.print("seconda prova"); } catch (Exception e) { e.printStackTrace(); } } } /** * @(#)RMIServer.java * * * @author * @version 1.00 2009/7/21 */ import java.rmi.*; public interface RMIServer extends Remote { public void print(String s) throws RemoteException; } /** * @(#)RMIServerImpl.java * * * @author * @version 1.00 2009/7/21 */ import java.rmi.*; import java.rmi.server.UnicastRemoteObject; public class RMIServerImpl extends UnicastRemoteObject implements RMIServer { public static void main(String[] args) { try { System.setSecurityManager(new RMISecurityManager()); RMIServerImpl server = new RMIServerImpl(); Naming.rebind("/Documents and Settings/JFK/Desktop/rmi_prove", server); System.out.println("Server bound"); } catch (Exception e) { e.printStackTrace(); } } public RMIServerImpl() throws RemoteException {} public void print(String s) throws RemoteException { System.out.println(s); } } Ultima modifica di splift : 22-07-2009 alle 14:09. Motivo: aggiornamento titolo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
a partire da Java 5 stub e skeleton non sono più necessari.
A parte questo, nel codice che incolli non c'è ma negli originali c'è per caso anche il package di quelle classi? Inoltre rmic opera sui file compilati e non sui sorgenti: i file compilati sono accessibili dal punto in cui lanci rmic?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jul 2009
Messaggi: 33
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
prova ad eliminare i file class, dare un package ai sorgenti (package test) compilare:
javac -d . *.java e "rmiccare" rmic test.RMIServerImpl
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jul 2009
Messaggi: 33
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Ah, prima prova a specificare il classpath:
rmic -classpath . RMIServerImpl
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jul 2009
Messaggi: 33
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
con il prompt del dos piazzati in:
...DocumentsandSettings\JFK\Desktop\ e poi dai un: rmic -classpath . rmi_prove.RMIServerImpl
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Jul 2009
Messaggi: 33
|
Quote:
mi dice che il file non contiene RMIServerImpl.class....forse devo rinunciare! |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
E' solo un problema di percorsi, le tue classi non hanno nulla che non vada.
Se non hanno il package ti sposti con il prompt del dos nella stessa cartella in cui ci sono i class e dai un: rmic -classpath . RMIServerImpl Se hanno il package devi andare nella cartella radice di quel package e dare un: rmic -classpath . nomepackage.RMIServerImpl Comunque rmic non serve più.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Jul 2009
Messaggi: 33
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:48.




















