最近想嘗試用 VSCode 來開發一些 Java demo/test , 遇到命令 javac 跟 java
不能簡化合併運行問題。
所以在S.O上面詢問 javac Foo.java && java Foo in windows vscode terminal not work 找到了解答。
vscode 預設的 terminal 是 powershell integrated console
所以不支持 javac Foo.java && java Foo
的命令
這時候切換成 cmd
模式就能解決這問題
假如是powershell 6.x以前版本可以使用以下命令解決
javac Demo.java; if ($LASTEXITCODE -eq 0) { java Demo }
假如想要支援 &&
關鍵字語法請升級到 powershell 7+ 連結
另外有 John 大提出可以用 (javac Demo.java) -and (java Demo)
解決,但實際執行會得到 false result
mklement0 大解答 : 原因是 -and和-or
從根本上不適合替代 &&和||
, 它們作用於輸出而不是過程退出代碼(真好,又從大師們身上學到一課 :D)
路過提供個小知識,對於單一原始碼的簡單小程式,Java 11 後可以使用 java
直接執行 .java 檔案,這會即時地編譯為位元組碼存放在記憶體,然後直接執行。
謝謝 良葛格 老師給的補充