Bonjour,
Je veux lancer une appli via java par le biais d'un runtime.
Le problème est que je ne connais pas le chemin vers l'appli.
Pour le connaitre, j'ai donc fait une class qui le cherche dans la base de registre et je le récupère par le biais d'une méthode.
Une fois le chemin récupéré dans une variable, je remplace les '\' par des '/' et je lance mon runtime avec cet variable à l'intérieur.
Là, une IOException est générée me disant que j'essai de crée un processus avec un '\' alors que ceux-ci ont tous été remplacés.
J'illustre mon explication :
Voici le code qui est executé :
Voilà ce que me dit la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // sofficeExec contient le chemin de l'appli dans lequel sont remplacés les '\' par des '/' String sofficeExec = RegQuery.getOOoPath().replace("\\", "/") + "/sofice"; // J'affiche la variable pour vérifier son contenu System.out.println("Chemin : " + sofficeExec); java.lang.Runtime rt = java.lang.Runtime.getRuntime(); try{ rt.exec(sofficeExec + " \"-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager\" -headless "); } catch (java.io.IOException e) { System.out.println(e); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Chemin : C:/Program Files/OpenOffice.org 2.0/program/sofice java.io.IOException: CreateProcess: C:\Program Files/OpenOffice.org 2.0/program/sofice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -headless error=2
Si quelqu'un peux me renseigner sur la nature de ce problème et sur comment le résoudre, merci de le faire !
Partager