JavaとGradleを使用したコンソールアプリケーション 質問する

JavaとGradleを使用したコンソールアプリケーション 質問する

私は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`
}

おすすめ記事