私はJavaとGradleを使ってコンソールアプリケーションを書いています。application
プラグインで必要なフィールドが正しく設定されている必要がありますbuild.gradle
。
メインクラスでBufferedReader
とリンクしていますSystem.in
。問題は次のとおりです。gradle run
プロジェクトディレクトリで実行すると、リーダーはコンソール入力を待機しません。BufferedReader#readLine
代わりに、null
最初の呼び出しで が返されます。この動作は、私が行っている作業には望ましくありません。
application
解決策は何ですか? Gradle 用の別のコンソール アプリケーション プラグインはありますか? それとも、ニーズに合わせてプラグインを微調整する必要がありますか?
ベストアンサー1
デフォルトでは、システム.inGradleビルドがシステム.inの走る(JavaExec) タスク。次の操作を実行できます。
build.gradle (Groovy 構文):
run {
standardInput = System.in
}
ビルド.gradle.kts (コトリンDSL構文):
tasks.named<JavaExec>("run") {
standardInput = System.`in`
}