gpt4 book ai didi

c# - 在 C# 中使用 Javac?

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:57 24 4
gpt4 key购买 nike

好的,所以我已经为此工作了一段时间(并且我已经解决了多个问题才能在项目中走到这一步)。

这是我正在使用的 C# 代码:

 Process p = new Process();
p.StartInfo.RedirectStandardError = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "javac";
Directory.CreateDirectory(Path.Combine(Application.StartupPath + @"\TempJavaalfgwaepfgawe"));
p.StartInfo.Arguments = "-d " + Path.Combine(Application.StartupPath + @"\TempJavaalfgwaepfgawe") + " " + files;
p.Start();

p.WaitForExit();
MessageBox.Show(p.StandardError.ReadToEnd());

本质上,我试图从 C# 应用程序调用 Java 编译器 (javac)。

现在,当我这样做时,它没有正确编译 java 代码,所以我在最后插入了 RedirectStandardError 和 UseShellExecute 以及 WaitForExit 和 MessageBox 以查看发生的错误。

无论如何,错误如下:

javac: invalid flag: 2010\Projects\Java

Usage: javac [options] [source files]

use -help for a list of possible options

那么,我的代码有什么问题?

对我来说,错误看起来像是文件路径之一的位置的一部分。

最佳答案

我在评论中提出了修复建议,但我也想为遇到此问题的其他人添加一个正式的答案。

当您将参数传递给进程时,需要用引号引起来包含空格的字符串。这告诉参数解析器你真正的意思是一个参数。 (不同的参数通常用空格分隔)

关于c# - 在 C# 中使用 Javac?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7478049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com