簡體   English   中英

Gradle不允許通過Windows命令提示符輸入

[英]Gradle won't allow input via Windows command prompt

在安裝了JDK的Shell服務器上,以下程序通過讀取下一個整數並顯示正確的輸出來允許用戶輸入:

package hello;
import java.util.Scanner;

public class HelloWorld {
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int theNextInt = in.nextInt();
    System.out.println("Next integer is: " + theNextInt);
  }
}

但是,當我在Windows控制台上執行gradlew run時,會發生以下錯誤:

Exception in thread "main" java.util.NoSuchElementException
        at java.util.Scanner.throwFor(Scanner.java:862)
        at java.util.Scanner.next(Scanner.java:1485)
        at java.util.Scanner.nextInt(Scanner.java:2117)
        at java.util.Scanner.nextInt(Scanner.java:2076)
        at hello.HelloWorld.main(HelloWorld.java:12)
:run FAILED

當然,發生異常是因為Scanner不再讀取任何元素。 那是因為Windows控制台不允許我輸入。 可以解決嗎?

我想到了。 事實證明,在做進一步研究之后,我遇到了這個問題這個問題提供了相同的解決方案(有效):

build.gradle文件中包括以下內容:

run {

standardInput = System.in

}

因為根據文檔 ,對於類型為JavaExec的任務,InputStream默認為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM