3
ユーザーの入力を受け取り、問題を示すために戻ってきた簡単なJavaの「エコー」アプリケーションを作成しました。 IntelliJの内部「実行」コマンドを使用して、またgradle build
によって生成されたコンパイル済みのJavaファイルを実行する際に、このアプリケーションを問題なく実行できます。しかし、gradle run
を使ってアプリケーションを実行しようとすると、スキャナからNoSuchElementExceptionがスローされます。アプリケーションがgradleで起動されたときにjava.util.scannerがNoSuchElementExceptionをスローする
私は、gradleやアプリケーションのプラグインが、具体的にはシステムIOで何か変なことをしていると思います。
apply plugin: 'java'
version '1.0-SNAPSHOT'
apply plugin: 'java'
jar {
manifest {
attributes 'Main-Class': 'org.gradle.example.simple.HelloWorld'
}
}
apply plugin: 'application'
mainClassName = "org.gradle.example.simple.HelloWorld"
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
build.gradle
アプリケーション
package org.gradle.example.simple;
import java.util.Scanner;
public class HelloWorld {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
String response = input.nextLine();
System.out.println(response);
}
}
gradle run
を使用して、このアプリケーションを動作させるためにどのように任意のアイデア?
これは素晴らしい作品、そして今 'のGradle --console無地の実行を思わ醜いプロンプトに悩まされている人のために'それを削除します。これについてはhttps://issues.gradle.org/browse/GRADLE-1147のオープンな問題があり、ここでそのスニペットを見つけました。 – nickbdyer
アプリケーションプラグインを使用していない場合、 'standardInput = System.in'行は実行中のタスクの中でstdinがリダイレクトされる必要があります。私にとっては、カスタム[JavaExec](https://docs.gradle.org/current/dsl/org.gradle.api.tasks.JavaExec.html)タスクの中でした。 –
私の実行スクリプトではうまくいきません。もっと説明できますか? –