Exemple #1
0
        public void Run()
        {
            var sb = new StringBuilder();

            if (MaxPermSize != null)
            {
                sb.Append("-XX:MaxPermSize=" + MaxPermSize + " ");
            }
            sb.Append("-classpath ");
            sb.Append(String.Join(";", ClassPath.ToArray()));
            sb.Append(" ");
            sb.Append(MainClass);
            sb.Append(" ");
            sb.Append(Arguments);
            var args = sb.ToString();

            Process = new Process {
                StartInfo = new ProcessStartInfo {
                    FileName = @"C:\Program Files\Java\jdk1.7.0_25\bin\javaw.exe", Arguments = args, UseShellExecute = false
                }
            };
            Process.StartInfo.RedirectStandardError  = true;
            Process.StartInfo.RedirectStandardOutput = true;
            Process.Start();
            Process.BeginOutputReadLine();
            Process.BeginErrorReadLine();
            Process.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
            Process.ErrorDataReceived  += (s, e) => Console.WriteLine(e.Data);
            Process.WaitForExit();
        }