ProcessStartInfo break java выполнение даже жесткой строки экранировано (невозможно получить доступ к jarfile ...) - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь вызвать процесс java, используя код C#, вот фрагмент

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "java";
psi.Arguments = string.Format("-jar -Dlogging.level.root=WARN -Dsolr.ssl.checkPeerName=false -Dsolr.host={0} -Dsolr.port={1} " 
    + "-Dzk.host={0} -Dzk.port={2} -DtrustStore.path=", solrHost, solrPort, zkPort) + "\"" + 
    managmentServerDir + "\" " + "\"" + managmentServerDir + "lib\\unify-threats.jar" + "\"";
MessageBox.Show(psi.FileName);
MessageBox.Show(psi.Arguments);
psi.RedirectStandardError = true;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
Process pr = Process.Start(psi);
string output = pr.StandardOutput.ReadToEnd();
string err = pr.StandardError.ReadToEnd();
pr.WaitForExit();
MessageBox.Show(output);
MessageBox.Show(err);

managmentServerDir содержит пробелы в примере пути:

C:\Program Files\Test Server\managementServer

что Я вижу в потоке ошибок:

Error: Unable to access jarFile Files\Test

даже подумал, что все экранировано, как должно. Я пробовал много разных решений, но не работал, при запуске из cmd все работало так, как должно, любая помощь будет оценена

...