首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用jline3创建操作系统终端

无法使用jline3创建操作系统终端
EN

Stack Overflow用户
提问于 2021-09-19 23:13:40
回答 1查看 265关注 0票数 0

在macOS 11.6中,运行这个通过的junit测试,其中终端和TerminalBuilder来自jline3:

代码语言:javascript
复制
@Test
    void test1() throws IOException {
        Terminal t = getTerminal();
        Assertions.assertNotNull(t);
    }

getTerminal:

代码语言:javascript
复制
public Terminal getTerminal() throws IOException {
        return TerminalBuilder.terminal();
    }

替代getTerminal:

代码语言:javascript
复制
public Terminal getTerminal() throws IOException {
        return TerminalBuilder.builder().system(true).build();
    }

我在控制台中收到了这条警告消息,其中任何一个版本的getTerminal:

警告:无法创建系统终端,创建哑终端(启用调试日志以获取更多信息)

显然我想要一个系统终端。我在类路径上有Jansi和JNA,以及完整的jline3。我尝试在Eclipse内部和命令行中使用maven运行。结果是一样的。

对如何获得系统终端有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-28 17:59:25

为了获得系统终端,您需要在命令行上运行您的应用程序,因为System.inSystem.out必须附加到您的控制台。当您运行junit测试时,这不是这样的情况,在使用maven启动应用程序时也不是这样。

您应该编写一个应用程序,并使用java命令启动它,以便获得系统终端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69247723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档