Salut à tous !
J'essayer , depuis le matin, d'exécuter le code rmi que j'ai trouvé dans le document Thinking in java. Mais je n'ai pas réussi à exécute la commande rmic (qui crée le stub et le squeletton).
Mon package (essai2) comporte deux classes:
1- L'interface :
2- L'implémentation de l'interface
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 package essai2; import java.rmi.Remote; import java.rmi.RemoteException; abstract interface PerfectTimeI extends Remote { long getPerfectTime() throws RemoteException; }
1- j'ai compilé les deux classes et j'ai vérifié l'existence de PerfectTimeI.class et PerfectTime.class .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 package essai2; import java.rmi.*; import java.rmi.server.*; import java.rmi.registry.*; import java.net.*; public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI { public long getPerfectTime()throws RemoteException { return System.currentTimeMillis(); } public PerfectTime() throws RemoteException { // super(); // Called automatically } public static void main(String[] args) { System.setSecurityManager(new RMISecurityManager()); try { PerfectTime pt = new PerfectTime(); Naming.bind("PerfectTime", pt); System.out.println("Ready to do time"); } catch(Exception e) { e.printStackTrace(); } } }
2- J'ai crée une commande à partir de tools/configure tool :
Program: C:\Documents and Settings\p2m\JBuilder9\jdk1.4\bin\rmic
Parameters: "C:\Documents and Settings\p2m\jbproject\essai2\classes\essai2\PerfectTime"
Et voici le message d'erreur que j'obtiens :
"C:\Documents and Settings\p2m\JBuilder9\jdk1.4\bin\rmic" "C:\Documents and Settings\p2m\jbproject\essai2\classes\essai2\PerfectTime"
sun.tools.java.CompilerError: mangle C:\Documents and Settings\p2m\jbproject\essai2\classes\essai2\PerfectTime
at sun.tools.java.Type.mangleInnerType(Type.java:225)
at sun.tools.java.Type.tClass(Type.java:180)
at sun.tools.javac.BatchEnvironment.classExists(BatchEnvironment.java:387)
at sun.tools.java.Environment.resolvePackageQualifiedName(Environment.java:523)
at sun.rmi.rmic.Main.doCompile(Main.java:509)
at sun.rmi.rmic.Main.compile(Main.java:130)
at sun.rmi.rmic.Main.main(Main.java:761)
error: An error has occurred in the compiler; please file a bug report (http://java.sun.com/cgi-bin/bugreport.cgi).
1 error
Je ne sais pas si j'ai un peu compliquer les choses. Mais j'espère que quelqu'un a une idée sur ce sujet.
@++
Partager