解決在Gradle/IDEA中無法正常使用readLine的問題原因
Gradle的標(biāo)準(zhǔn)輸入默認(rèn)并不與系統(tǒng)標(biāo)準(zhǔn)輸入綁定,需手動設(shè)置
參考: https://stackoverflow.com/questions/13172137/console-application-with-java-and-gradle
問題
在Gradle構(gòu)建的控制臺程序中,標(biāo)準(zhǔn)輸入readLine總是返回null
原因
Gradle的標(biāo)準(zhǔn)輸入默認(rèn)并不與系統(tǒng)標(biāo)準(zhǔn)輸入綁定,需手動設(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
到此這篇關(guān)于在Gradle/IDEA中無法正常使用readLine的解決方法的文章就介紹到這了,更多相關(guān)idea無法正常使用readLine內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MyBatis使用自定義TypeHandler轉(zhuǎn)換類型的實現(xiàn)方法
這篇文章主要介紹了MyBatis使用自定義TypeHandler轉(zhuǎn)換類型的實現(xiàn)方法,本文介紹使用TypeHandler 實現(xiàn)日期類型的轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10解決springboot 獲取form-data里的file文件的問題
這篇文章主要介紹了解決springboot 獲取form-data里的file文件的問題的相關(guān)資料,這里提供了詳細的解決步驟,需要的朋友可以參考下2017-07-07詳解JAVA后端實現(xiàn)統(tǒng)一掃碼支付:微信篇
本篇文章主要介紹了詳解JAVA后端實現(xiàn)統(tǒng)一掃碼支付:微信篇,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2017-01-01JVM性能調(diào)優(yōu)實現(xiàn)原理及配置
這篇文章主要介紹了JVM性能調(diào)優(yōu)實現(xiàn)原理及配置,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12IDEA配置Maven并版本統(tǒng)一管理的實現(xiàn)
本文主要介紹了IDEA配置Maven并版本統(tǒng)一管理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09