我尝试使用下面的C#代码使用javac编译Java:如何从C#编译Java?
Process p = new Process();
p.StartInfo.FileName = "javac";
Directory.CreateDirectory(Application.StartupPath + @"/TempJava");
p.StartInfo.Arguments = "-d "Application.StartupPath + @"/TempJava" + files;
p.Start();
“文件”表示包含*.java
文件的姓名(或名称)的字符串变量。总而言之,我想创建一个新文件夹,然后将Java文件(从它们可能位于的位置)取出并编译到TempJava中的类文件中。
由于某些原因,代码不起作用,没有错误,没有警告,但是当我运行它并检查TempJava时,其中没有任何文件。
你的环境变量是什么样的?它们(特别是指向java编译器的那个)是否正确? –
是的,因为我可以通过在命令提示符下手动输入javac来运行javac,并且它工作正常。 – Alper
另外,你在Unix上?斜杠意味着如此,所以没有理由将其作为原始字符串,尽管它是一条路径。 –