【问题标题】:Debug Jline2 application via Eclipse通过 Eclipse 调试 Jline2 应用程序
【发布时间】:2012-06-10 18:48:12
【问题描述】:

我正在使用 Jline2 框架在 Java 中构建控制台应用程序。在 Windows 7 上从 Eclipse 启动应用程序时,shell 立即存在,不等待用户输入命令。

你知道什么可能是错的吗?

【问题讨论】:

    标签: java console-application jline


    【解决方案1】:

    如果您使用的是picocli with jline2

    您可以将启发式委托给 picocli,这似乎比 jline2 启发式更好(而不是使用 -Djline.terminal=jline.UnsupportedTerminal

    代码如下:

    // 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://github.com/jline/jline2/issues/185

    【讨论】:

      【解决方案2】:

      终于找到了一个小技巧让它发挥作用。将以下VM选项添加到执行参数(Run Config/Debug Config)

      -Djline.terminal=jline.UnsupportedTerminal
      

      这将使代码在 Eclipse 中运行。但是,在运行过程中可能会向控制台写入一些奇怪的字符。

      希望这会有所帮助。

      【讨论】:

      • 这绝对有帮助:) 即使代码完成不起作用,我至少可以在 Eclipse 中开发。谢谢。
      • 我也有同样的问题。
      • @Thomas Uhrig 你有没有解决代码完成问题的结果?
      • @Alex 不,很遗憾没有。问题是,Eclipse 控制台不是“真正的”控制台。它只是 Eclipse 中的一个小部件,并没有真正的控制台那么强大。我不认为它可以工作......
      猜你喜欢
      • 2010-09-13
      • 2018-02-15
      • 2020-03-02
      • 2012-03-23
      • 1970-01-01
      • 2014-05-14
      • 2015-07-31
      • 2014-08-13
      • 2012-08-04
      相关资源
      最近更新 更多