salut la communauté,
Je reviens toujours avec mon application. Cette fois je n'arrive pas à démarrer le serveur mon application. J'ai cette erreur
J'ai déjà parcouru plein de forum mais ca na rien changé, certainement que j'ai raté quelque chose.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:342) at java.security.AccessController.checkPermission(AccessController.java:556) at java.lang.SecurityManager.checkPermission(SecurityManager.java:550) at java.lang.SecurityManager.checkConnect(SecurityManager.java:1052) at java.net.Socket.connect(Socket.java:563) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.<init>(Socket.java:416) at java.net.Socket.<init>(Socket.java:200) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:340) at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) at java.rmi.Naming.rebind(Naming.java:178) at serveur.Serveur.main(Serveur.java:24)
Voici comment j'ai procédé.
J'ai mon environnement de travail qui est /root/workspace/callback
J'ai crée une variable d'environnement dans le fichier .bashrc comme ceci
export CLASSPATH=/root/workspace/callback
Pour la compilation je le fais en ligne de commande
1) javac -d /root/workspace/callback/classes/ /root/workspace/callback/src/frame/IClient.java
2) javac -d /root/workspace/callback/classes/ -classpath /root/workspace/callback/classes /root/workspace/callback/src/serveur/IClientImpl.java
3) je demarrage le rmiregistry: rmiregistry &
4) je lance le serveur
java -cp /root/workspace/rmi/classes/ serveur.Serveur -Djava.security.policy=/root/workspace/callback/java.policy . C'est ici que je recois cette erreur
Il faut remarquer que j'ai creer un nouveau fichier java.policy que j'ai place dans mon projet, son code
grant {
permission java.security.AllPermission;
};
le code de la classe serveur
Merci de m'aider.Code:
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 package serveur; import java.rmi.*; public class Serveur { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //System.setSecurityManager(new RMISecurityManager()); try{ System.out.println("demarrage..."); IClientImpl objdist =new IClientImpl(); System.out.println("demarrage2..."); if (System.getSecurityManager() == null) System.setSecurityManager(new RMISecurityManager()); Naming.rebind("rmi://"+java.net.InetAddress.getLocalHost()+":1099/ObjetClient",objdist); //Naming.rebind("rmi://127.0.0.1:1099/ObjetClient",objdist); System.out.println("serveur pret"); } catch(Exception e){System.out.println(" erreur serveur"); e.printStackTrace(); } } }