我正在尝试使用以下 C# 代码来使用 javac 编译 Java:
Process p = new Process();
p.StartInfo.FileName = "javac";
Directory.CreateDirectory(Application.StartupPath + @"/TempJava");
p.StartInfo.Arguments = "-d "Application.StartupPath + @"/TempJava" + files;
p.Start();
“files”表示包含*.java
文件名称的字符串变量。
总而言之,我想创建一个新文件夹,然后获取 Java 文件(无论它们位于何处)并将其编译成 TempJava 中的类文件。
由于某种原因,代码无法工作,没有错误,没有警告,但是当我运行它并检查 TempJava 时,其中没有文件。
最佳答案
仅仅因为您的子进程以可能的错误结束,并不意味着您的父进程必须意识到它。
检查进程的退出代码和标准输出流,尤其是标准错误流。你的答案就在那里......
关于c# - 如何从C#编译Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477410/