按Enter后,JLine自动完成功能不显示并在onComplete上运行

时间:2019-04-11 01:11:43

标签: java log4j jline

由于某些原因,我的多线程Netty服务器无法在Windows上使用特定的自动完成功能(在我最初的测试linux上运行良好) 我发现终端控制台追加程序和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)方法的主类

1 个答案:

答案 0 :(得分:0)

我缩小了迫使TerminalConsoleAppender制作哑终端的问题,因此我禁用了该功能,然后完全遮蔽了jline和jline-terminal-jansi并正常工作。