Bonjour,
Le problème concerne cette applet qui doit ouvrir dolphin sous linux, et explorer.exe sous windows :
Cette applet s'exécute correctement en tant qu'appli java en remplaçant execProg par une main.
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 import java.io.IOException; import java.applet.*; import java.awt.*; public class LanceAppli extends Applet{ public void paint(Graphics g) { g.drawString("Hello !!!", 30, 30); } public int execProg() { String nomSex = System.getProperty("os.name").toLowerCase(); System.out.println(nomSex); String dir = "/home/damien/www"; String chU = "dolphin " + dir; String chW = "C:\\Windows\\explorer.exe " + dir; // String chW="C:\\Windows\\command.com /C set"; String cmd = ""; // Que va-t-on exécuter ? if (nomSex.indexOf("windows") > -1) cmd = chW; else if (nomSex.indexOf("linux") > -1) cmd = chU; else System.exit(1); // Objet environnement d'exécution Runtime r = Runtime.getRuntime(); try { Process p = r.exec(cmd); } catch (IOException e) { //System.out.println("" + e); return 0; } return 1; } } // fin LanceAppli.java
L'applet est signée et s'exécute ainsi :
Mais quand je clique sur le bouton dans firefox , j'ai l'erreur suivante :
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 <html> <head> <script type="text/javascript"> function TestApplet(){ test = document.getElementById('apExec').execProg(); } </script> </head> <body> <input type="button" id="lanceApplet" value="Explorateur" onclick="TestApplet()"> <applet codebase="./class/" code="LanceAppli.class" archive="LanceAppli.jar" width="500" height="200" id="apExec"> </applet> </body> </html>
Je ne vois pas ou est le problème, je ne sait pas comment rendre plus parlant l'erreur (je n'ai que des notions en java...).uncaught exception: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetException
Merci d'avance pour toute aide
Partager