définir variable d'environnement PATH de windows lors de l'exécution de Java
J'ai un programme java qui lance un exécutable en utilisant le moteur d'Exécution.méthode exec (). Je suis en utilisant la variante qui prend la forme d'un ensemble de ligne de commande params comme un argument, et certaines variables d'environnement comme un autre argument.
La variable d'environnement je suis tryign est le chemin, donc je suis de passage dans le "PATH=C:\un\chemin". Cela ne fonctionne pas. Est-il une astuce pour ce ou de toute autre solution de rechange. Je suis coincé à Java 1.4 malheureusement.
OriginalL'auteur hhhh | 2010-04-29
Vous devez vous connecter pour publier un commentaire.
utilisation http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#getenv%28java.lang.String%29 pour obtenir de l'environnement et le fixer en place, puis utiliser une saveur de [http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec%28java.lang.String,%20java.lang.String%5B%5D,%20java.io.File%29%5D%5B1%5D faire l'exec.
cela fonctionne avec un fichier de commandes qui a path.
fonctionne pour moi. si je mkdir foo et mettre une barre.chauve-souris dans foo/ et modifier le exec pour "cmd /C start bar.chauve-souris", je vois un message de bar.chauve-souris à l'aide de 1.6 sur windoze 8.1
OriginalL'auteur Ray Tayek
Si "PATH=C:\un\chemin d'accès" s'affiche dans votre code source, il serait incorrect car il serait tentant d'échapper à la " s " et " p " dans cette chaîne, vous pouvez utiliser "PATH=C:\\un\\chemin d'accès" à la place (s'échapper les barres obliques). En outre, vous ne voulez pas passer comme une chaîne directement, mais comme un tableau de chaînes de caractères (probablement avec l'unique chaîne de caractères).
OriginalL'auteur Kitsune
Si vous souhaitez modifier la variable Path de windows, vous devriez jeter un oeil à JNI_Registry: http://www.trustice.com/java/jnireg/
C'est une Java de la liaison à la base de Registre Windows API et est livré avec un très faible encombrement.
Je l'ai utilisé pour mon projet actuel, et il fonctionne très bien.
OriginalL'auteur user435832
Une solution pourrait être d'ajouter une commande "exec" où vous définissez le chemin d'accès ... comme dans l'exemple ici:
http://www.neowin.net/forum/topic/620450-java-runtimegetruntimeexec-help/
extrait:
OriginalL'auteur tex