Existe-t-il un moyen d'ajouter un répertoire spécifique à la variable système Windows% PATH%? Cela ne semble pas fonctionner:Définir les variables système Windows avec Java
String[] cmd = { "cmd", "/c", "set", "PATH=\"%PATH%;c:\\test\"" };
Runtime.getRuntime().exec(cmd);
c: \ test \ ne figure pas dans System.getenv ("chemin"); ou dans la sortie de
String[] cmd = { "cmd", "/c", "echo", "%PATH%" };
Runtime.getRuntime().exec(cmd);
Ce que je besoin est de modifier le% PATH% -variable pour Java-Process en cours sous Windows. La raison en est que j'ai besoin de charger des fichiers dll natifs qui se recoupent mutuellement. Donc, je voudrais ajouter le chemin de l'application à l'environnement Windows.
La prochaine chose que j'ai essayé était une petite JNI-Wrapper pour la fonction C "putenv" qui ressemble à ceci:
JNIEXPORT void JNICALL Java_com_splitscreen_AppletTest_PutEnv_putEnv
(JNIEnv *env, jobject jobj, jstring val) {
jboolean iscopy;
const char *mvalue = (*env)->GetStringUTFChars(
env, val, &iscopy);
putenv(mvalue);
}
Voici comment je l'appelle:
final String curPath = System.getenv("PATH");
final PutEnv pe = new PutEnv();
pe.putEnv("PATH=" + curPath + ";c:\test");
final String newPath = System.getenv("PATH");
System.out.println(newPath);
Mais les chemins sont égaux. Je ne suis pas sûr que la carte de l'environnement système Java ne soit pas mise à jour ou que putenv ne fonctionne pas. Y a-t-il un moyen de vérifier cela?
Oui, vous pouvez utiliser un simple 'System.getEnv (" PATH ")' pour vérifier PATH directement à partir de Java. –