Переменные среды не видны для java

Проект

Проект представляет собой большой проект C#, который используется для тестирования -автоматизация. Для этой цели я должен использовать java-инструмент, который сохраняет все результаты в файл, который можно загрузить в тестовую среду.

Интерфейс

Я получил DLL от поставщика тестовой среды, которая построена на C++, эта DLL загружает среду java и загружает файлы jar.

Текущая ситуация

Среда java загружается успешно, она настроена с помощью переменных среды, установленных в C#, с помощью этого метода:

String java = GetJavaInstallationPath();
Environment.SetEnvironmentVariable("PATH", String.Format("{0};{1}", Environment.GetEnvironmentVariable("PATH"), Path.Combine(java, @"bin\client")), EnvironmentVariableTarget.Process);

После этого я устанавливаю путь к классам java, используя этот код:

Environment.SetEnvironmentVariable("ITEPCLASSPATH",
                String.Format("{0};{1}",
                Path.Combine(iTepPath, "itep.jar"),
                Path.Combine(iTepPath, "libs\\itorx.jar")), EnvironmentVariableTarget.Process);

Который на самом деле должно работать, оно показывает правильное значение при использовании Environment.GetEnvironmentVariable("ITEPCLASSPATH"), но C++-DLL сообщает мне, что это не работает.

При установке пути к классу с помощью внешнего bat-файла работает. Еще немного фактов:

  • Приложение запускается bat-файлом
  • Путь копируется из моего сгенерированного пути dll
  • Ничего не комментирую, поэтому путь все равно задан C#

] Кажется, что java не обращается к переменной env., которую я установил в C#, но распознает, что я установил ее в файле bat.

Мне действительно нужно установить переменную через C#, как мне это заархивировать?

7
задан Felix K. 13 May 2012 в 17:50
поделиться