我正在使用Jline2框架在Java中构建一个控制台应用程序。在Windows7上从Eclipse启动应用程序时,shell会立即存在,而不会等待用户输入命令。
你知道哪里出了问题吗?
发布于 2012-09-29 12:23:04
最后我找到了一个小窍门来让它工作。将以下VM选项添加到执行参数(运行Config/Debug Config)
-Djline.terminal=jline.UnsupportedTerminal这将使代码在Eclipse中运行。但是,在运行过程中可能会向控制台写入一些奇怪的字符。
希望这能有所帮助。
发布于 2021-07-29 13:13:44
如果您使用的是picocli with jline2。
您可以将启发式委托给-Djline.terminal=jline.UnsupportedTerminal,这似乎比jline2启发式更好(而不是使用picocli )
代码可能如下所示:
// JLine 2 does not detect some terminal as not ANSI compatible, like Eclipse Console
// see : https://github.com/jline/jline2/issues/185
// So use picocli heuristic instead :
if (!Help.Ansi.AUTO.enabled() && //
Configuration.getString(TerminalFactory.JLINE_TERMINAL, TerminalFactory.AUTO).toLowerCase()
.equals(TerminalFactory.AUTO)) {
TerminalFactory.configure(TerminalFactory.NONE);
}https://stackoverflow.com/questions/10919546
复制相似问题