Конфигурирование системной среды с Java для вызова вызовов JNI - PullRequest
0 голосов
/ 25 марта 2011

Я написал некоторый код JNI, который работает просто отлично. Я вызываю API из Java, которому нужно установить некоторые переменные среды. В настоящее время я работаю над Windows XP SP3.

Мне нужно установить переменную (Пример: FOO = bar) в пользовательском пространстве и добавить несколько путей к системному пути. Мне нужно это, потому что я использую сторонние DLL в своем коде C, которым нужны эти параметры среды.

Теперь я немного застрял и не знаю, как установить эти переменные. Я пробовал командный файл, запускающий Java-программу, но это не сработало, потому что я только изменял среду для этого процесса. JNI, кажется, получает свой собственный процесс, и там нет настроек, которые я только что изменил.

Итак, у кого-нибудь из вас есть идея, как я справлюсь с этим?

Спасибо за помощь и пожелания из Германии

Marco

Ответы [ 2 ]

2 голосов
/ 25 марта 2011

JNI не получает свой собственный процесс - вы делаете что-то не так в командном файле.

Вы можете установить среду в коде C, используя вызов API SetEnvironmentVariable.

0 голосов
/ 25 марта 2011

Какой пакетный скрипт вы используете?Обычно переменные, установленные в процессе, распространяются на все процессы, созданные из этого процесса: если я выполняю

set toto=abc

в окне консоли, я нахожу эту переменную среды во всех программах, запущенных из этого окна.

...