JLine 自动完成不显示和 运行 onComplete 按回车后

JLine autocomplete not showing and running onComplete after pressing enter

出于某种原因,具体来说,我的多线程 netty 服务器无法在 Windows 上使用自动完成功能(在我最初的测试中 linux 工作正常) 我发现终端控制台 appender 和 jansi 是 "solutions" ,它们解决了很多问题,除了这个。奇怪的是我的客户 运行 使用相同的代码函数调用 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(用于读取和设置终端和reader):https://github.com/Fernthedev/light-chat/blob/master/java/universalChat/src/main/java/com/github/fernthedev/universal/StaticHandler.java

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

我缩小了强制 TerminalConsoleAppender 制作哑终端的问题,所以我禁用了它,然后完全遮蔽了 jline 和 jline-terminal-jansi 并完美地工作。