Как я могу передать действительные аргументы в JAR-файл, используя класс процесса в C # ASP.NET.? - PullRequest
0 голосов
/ 19 сентября 2019

Я надеюсь, что кто-то здесь может помочь мне с проблемой.В моем приложении asp.net я пытаюсь запустить файл JAR с некоторыми аргументами.Эти аргументы были в командном файле, как показано ниже.

rem Svg
java -cp "%CLASSPATH%" "resolveGraphics" "%GRAPHICS%" "%GRAPHICS%" "%XSL_SVG%" >> "%LOG_FILE%" 2>&1
rem Ditaval
java -jar "%SAXON_JAR%" -o "%DITAVAL%" "%ORDERFORM%" "%XSL_DITAVAL%" >> "%LOG_FILE%" 2>&1
rem Keys
java -jar "%SAXON_JAR%" -o "%KEYS%" "%ORDERFORM%" "%XSL_KEYS%" >> "%LOG_FILE%" 2>&1
 rem Create pdf
"%DITA_PATH%" -f "pdf_A4" -i "%MAP%" -o "%OUTPUT%" -temp "%OUTPUT_TEMP%"  -l "%DITA_OT_LOG%" -v

:ERROR

Выполнение этого кода в командной строке работает отлично.но когда я использую класс Process в c #, ничего не происходит.Ниже приведен код, который я пробовал.

 ProcessStartInfo startinfo = new ProcessStartInfo();

 startinfo.CreateNoWindow = false;
 startinfo.UseShellExecute = false;
 startinfo.FileName = "java";
 startinfo.WindowStyle = ProcessWindowStyle.Hidden;
 startinfo.Arguments = " -cp \"" + CLASSPATH + " resolveGraphics \"" + GRAPHICS + " \"" + GRAPHICS + " \"" + XSL_SVG + " >> \"" + LOG_FILE + " 2>&1 \"" + 
                         " -jar \"" + SAXON_JAR + " -o \""+ DITAVAL+ " \"" + ORDERFORM + " \"" + XSL_DITAVAL + " >> \"" + LOG_FILE + " 2>&1 \"" +
                         " -jar \"" + SAXON_JAR + " -o \""+ KEYS+ " \"" + ORDERFORM + " \"" + XSL_KEYS + " >> \"" + LOG_FILE + " 2>&1 \""+
                         DITA_PATH + " -f \"" + "pdf_A4 \"" + "-i \"" + MAP + " -o \"" + OUTPUT + " -temp \"" + OUTPUT_TEMP + " -l \"" + DITA_OT_LOG + " -v \"" ;
 Process.Start(startinfo);

Я новичок в C #, поэтому помощь будет высоко ценится.

...