我有最简单的Java应用程序,如果从命令行执行,它就可以工作。但是,如果我想通过IntelliJ IDEA 14 Ultimate对其进行调试,则该System.in.read()部件将始终返回-1,而无需在其中输入任何内容:
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
System.out.println("This is a test... Hit [enter] to exit.");
int cha = System.in.read();
System.out.println("You hit [enter], exiting...");
}
}
Run Code Online (Sandbox Code Playgroud)
这是Windows 8.1的某种问题还是与IntelliJ IDEA相关?
更新:我发现问题仅在通过Gradle(gradlew run)启动应用程序时才出现,所以这是Gradle的问题。这是我的build.gradle:
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'
mainClassName = 'net.frakbot.ws.Main'
repositories {
mavenCentral()
}
run {
main = 'net.frakbot.ws.Main'
standardInput = System.in …Run Code Online (Sandbox Code Playgroud)