按Enter键后,JLine自动完成功能未显示并运行onComplete

问题描述 投票:0回答:1

出于某种原因,我的多线程网络服务器将无法在Windows上使用自动完成功能(在我原来的测试linux工作正常)我发现终端控制台appender和jansi是“解决方案”,他们遇到了很多问题,除了这个。关于这个的奇怪部分是我的客户端运行相同的代码函数来调用lineReader.readLine(“>”);完全正常,自动完成几乎完全相同的代码。我不知道是什么问题,因为他们都以相同的顺序调用相同的代码,具有相同的依赖关系(除了一些服务器端依赖项)

来源:https://github.com/Fernthedev/light-chat

服务器读取代码:https://github.com/Fernthedev/light-chat/blob/master/java/server/src/main/java/com/github/fernthedev/server/ServerCommandHandler.java

客户端读取代码:https://github.com/Fernthedev/light-chat/blob/master/java/client/src/main/java/com/github/fernthedev/client/WaitForCommand.java

StaticHandler(用于读取和设置终端和阅读器):https://github.com/Fernthedev/light-chat/blob/master/java/universalChat/src/main/java/com/github/fernthedev/universal/StaticHandler.java

服务器和客户端都有一个带有main(String [] args)方法的主类

java log4j jline
1个回答
0
投票

我缩小了迫使TerminalConsoleAppender制作一个哑终端的问题,所以我禁用了它,然后完全着色jline和jline-terminal-jansi并且工作得很好。

© www.soinside.com 2019 - 2024. All rights reserved.