溫馨提示×
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在Gradle/IDEA中無法正常使用readLine怎么辦

發(fā)布時間:2021-12-31 16:46:11 來源:億速云 閱讀:156 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“在Gradle/IDEA中無法正常使用readLine怎么辦”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“在Gradle/IDEA中無法正常使用readLine怎么辦”吧!

問題

在Gradle構(gòu)建的控制臺程序中,標(biāo)準輸入readLine總是返回null

原因

Gradle的標(biāo)準輸入默認并不與系統(tǒng)標(biāo)準輸入綁定,需手動設(shè)置

解決方法

在build.gradle.kts中添加

tasks.named<JavaExec>("run") {
    standardInput = System.`in`
}

如果需要更干凈的輸出,可以用

gradle console:run -q --console=plain

解決方法(Groovy)

在build.gradle中添加

run {
    standardInput = System.in
}

補充:在 IDEA 開發(fā)環(huán)境里使用 jline 無法正常工作的問題處理

現(xiàn)象:在 IDEA 中開發(fā)應(yīng)用,使用 jline 捕獲控制臺輸入時,無法正常運行,主要體現(xiàn)在如下代碼在輸入回車后無法執(zhí)行:

ConsoleReader reader = new ConsoleReader();

reader.readLine("> ");

解決的辦法:

在使用 jline 之前,執(zhí)行如下代碼即可:

jline.TerminalFactory.registerFlavor(TerminalFactory.Flavor.WINDOWS, jline.UnsupportedTerminal.class);

也可以在程序啟動的命令行里增加參數(shù)

-Djline.terminal=jline.UnsupportedTerminal

到此,相信大家對“在Gradle/IDEA中無法正常使用readLine怎么辦”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI