繁体   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