iT邦幫忙

3

windows vscode terminal 無法運行 javac Foo.java && java Foo 命令

最近想嘗試用 VSCode 來開發一些 Java demo/test , 遇到命令 javac 跟 java不能簡化合併運行問題。

image

所以在S.O上面詢問 javac Foo.java && java Foo in windows vscode terminal not work 找到了解答。

解決方式1 :

vscode 預設的 terminal 是 powershell integrated console 所以不支持 javac Foo.java && java Foo 的命令

這時候切換成 cmd模式就能解決這問題

image

解決方式2 :

假如是powershell 6.x以前版本可以使用以下命令解決

javac Demo.java; if ($LASTEXITCODE -eq 0) { java Demo }

image-20200807100955346

假如想要支援 && 關鍵字語法請升級到 powershell 7+ 連結

補充

另外有 John 大提出可以用 (javac Demo.java) -and (java Demo) 解決,但實際執行會得到 false result

mklement0 大解答 : 原因是 -and和-or 從根本上不適合替代 &&和|| , 它們作用於輸出而不是過程退出代碼(真好,又從大師們身上學到一課 :D)


1 則留言

1
良葛格
iT邦新手 4 級 ‧ 2020-08-09 09:46:31

路過提供個小知識,對於單一原始碼的簡單小程式,Java 11 後可以使用 java 直接執行 .java 檔案,這會即時地編譯為位元組碼存放在記憶體,然後直接執行。

暐翰 iT邦大師 1 級 ‧ 2020-08-09 10:17:44 檢舉

謝謝 良葛格 老師給的補充 /images/emoticon/emoticon41.gif

我要留言

立即登入留言