Установка системных переменных Windows с Java

Есть ли способ добавить определенный каталог в системную переменную Windows% PATH%? Это неКажется, работает:

String[] cmd = { "cmd", "/c", "set", "PATH=\"%PATH%;c:\\test\"" };
Runtime.getRuntime().exec( cmd );

c: \ test \ не делаетпоявляется в System.getenv ("ДОРОЖКА"); или в выводе

String[] cmd = { "cmd", "/c", "echo", "%PATH%" };
Runtime.getRuntime().exec( cmd );

Мне нужно изменить переменную% PATH% для текущего Java-процесса под Windows. Причина в том, что мне нужно загрузить некоторые собственные dll-файлы, которые ссылаются друг на друга. Так что я'Я хотел бы добавить путь к приложению в среду Windows.

Следующим, что я попробовал, был маленький JNI-Wrapper для C-Function "PutEnv» который выглядит так:

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);
}

Вот как я это называю:

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 );

Но пути равны. Я'я не уверен, что карта Java-System-Environment не являетсяне обновлялся или нетт работа. Есть ли способ проверить это?

Ответы на вопрос(4)

Ваш ответ на вопрос