PB dans l'exécution d'un jar via JWS
Résolu
kalamit
Messages postés
279
Date d'inscription
Statut
Contributeur
Dernière intervention
-
kalamit Messages postés 279 Date d'inscription Statut Contributeur Dernière intervention -
kalamit Messages postés 279 Date d'inscription Statut Contributeur Dernière intervention -
Hello world,
J'ai un petit soucis qui, je pense, sera résolu très vite grace à votre aide:
J'ai un jar executable qui se lance via java web start.
Dans ce jar, je ne parviens pas à executer ça :
Runtime monRuntime = Runtime.getRuntime();
String[] command = {"/sbin/shutdown", "-hP", "now"};
monRuntime.exec(command);
Je pense que le .exec pose problème dans un cadre JWS.
A noter que mon prog fonctionne très bien quand j'execute le jar sans JWS...
Quelqu'un aurait il une idée ?
Merci !
J'ai un petit soucis qui, je pense, sera résolu très vite grace à votre aide:
J'ai un jar executable qui se lance via java web start.
Dans ce jar, je ne parviens pas à executer ça :
Runtime monRuntime = Runtime.getRuntime();
String[] command = {"/sbin/shutdown", "-hP", "now"};
monRuntime.exec(command);
Je pense que le .exec pose problème dans un cadre JWS.
A noter que mon prog fonctionne très bien quand j'execute le jar sans JWS...
Quelqu'un aurait il une idée ?
Merci !
A voir également:
- PB dans l'exécution d'un jar via JWS
- Télécharger jeux java jar - Télécharger - Jeux vidéo
- Téléchargement de jeux en .jar (ZTE Cute) - Forum Mobile
- Jar decompiler - Télécharger - Langages
- Partager des photos via un lien - Guide
- Java : Jeux gratuits à télécharger ! - Forum Jeux vidéo
4 réponses
Bon, j'me réponds à moi-même.
A priori, cela viendrait pour l'utilisation de la classe Runtime :
- du fait que le jar n'était pas signé
- de la version de la jre > 1.5. Pour des questions de securité, la signature ne suffit plus.
Quelle est la solution me direz-vous ?
Il faut faire une infâme bidouille dans le fichier de policy de java qui devrait se trouver dans le répertoire /jreX/lib/security afin d'autoriser l'utilisation de la classe Runtime (entre autre).
J'me rencarde sur ce qu'il faut mettre la dedans et je reviens.
A priori, cela viendrait pour l'utilisation de la classe Runtime :
- du fait que le jar n'était pas signé
- de la version de la jre > 1.5. Pour des questions de securité, la signature ne suffit plus.
Quelle est la solution me direz-vous ?
Il faut faire une infâme bidouille dans le fichier de policy de java qui devrait se trouver dans le répertoire /jreX/lib/security afin d'autoriser l'utilisation de la classe Runtime (entre autre).
J'me rencarde sur ce qu'il faut mettre la dedans et je reviens.
OK, à priori, c'est vraiment laid.
Trouvez la ligne
permission java.lang.RuntimePermission "stopThread";
dans le fichier java.policy, le sauvegarder quelque part et et mettre une * à la place du stopThread.
Question securité, derrière ça c'est tout pourri. Donc gaffe...
Trouvez la ligne
permission java.lang.RuntimePermission "stopThread";
dans le fichier java.policy, le sauvegarder quelque part et et mettre une * à la place du stopThread.
Question securité, derrière ça c'est tout pourri. Donc gaffe...
Re,
J'me corrige tout seul. Ce que j'ai dit précedemment est faux.
Après test, il est impératif que:
- le jar soit signé (une auto signature suffit, voir http://inouire.net/blog/index.php?post/2010/03/26/Signer-simplement-une-archive-jar pour plus de précision)
- le .jnlp contienne cette ligne: <security> <all-permissions/> </security>
Et ca suffit ! Il n'est point besoin d'aller fouiller dans le fichier java.policy
J'ai mis en ligne mon exemple (attention l'application éteint le PC).
http://web-verifier.com/fcs/halt.xhtml
J'me corrige tout seul. Ce que j'ai dit précedemment est faux.
Après test, il est impératif que:
- le jar soit signé (une auto signature suffit, voir http://inouire.net/blog/index.php?post/2010/03/26/Signer-simplement-une-archive-jar pour plus de précision)
- le .jnlp contienne cette ligne: <security> <all-permissions/> </security>
Et ca suffit ! Il n'est point besoin d'aller fouiller dans le fichier java.policy
J'ai mis en ligne mon exemple (attention l'application éteint le PC).
http://web-verifier.com/fcs/halt.xhtml