ように私は私がコンパイルしてのIntelliJ IDEAでのGradleプラグインを使用して実行しようとしています次のJavaメインクラスがない:のGradleの実行タスクは、入力を受け付けますが、IDEAの実行構成
package com.mikidep.bookshop;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
System.out.print("Inserisci testo qui: ");
System.out.println(in.nextLine());
System.out.println("Yee!");
}
}
を私のbuild.gradleは次のとおりです。
group 'com.mikidep.bookshop'
version '1.0-SNAPSHOT'
apply plugin: 'application'
mainClassName = "com.mikidep.bookshop.Main"
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
run {
standardInput = System.in
}
を今、私は、端末すべてにgradle run -q
を実行した場合、予想通りに動作します。私はいくつかのコンソール入力を行うまで
すべては大丈夫です。しかし、私はテストの実行に使用したい、このIDEAの実行構成があります。スレッド "メイン" java.util.NoSuchElementExceptionで
例外: com.mikidep.bookshopでjava.util.Scanner.nextLine(Scanner.java:1585)で見つかりませんでしたライン
in.nextLine()
は、次の例外をスロー.Main.main(Main.java:10)
私もそれをデバッグしようとしましたが、全体の流れが初期化されていなかったようSystem.in
内のすべてのフィールドは、ゼロにように見えることに気づきました。誰が何が起こっているのか知っていますか?
EDIT:私はちょうどこれが同様にビルドスクリプトに影響を与えていることを確認:私は、実行タスク
System.out.println("Wait...")
System.in.read()
System.out.println("Ok!")
にこのラインを追加しました。しかしGradleのは、私の入力を待たずに、すぐにこれらの2つの行を出力します。
[IntelliJ IDEAとGradleでデバッグ中にユーザー入力を待つ](http://stackoverflow.com/questions/27267508/wait-for-user-input-while-debugging-on-intellij-idea- and-gradle) – lukeg