我嘗試使用下面的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上?斜槓意味着如此,所以沒有理由將其作爲原始字符串,儘管它是一條路徑。 –