sangupta
sangupta

Reputation: 2406

Debug Jline2 application via Eclipse

I am using Jline2 framework to build a console application in Java. When launching the application from Eclipse on Windows 7, the shell exists immediately and does not wait for the user to input commands.

Any idea on what might be wrong?

Upvotes: 8

Views: 1784

Answers (2)

sbernard
sbernard

Reputation: 784

If you are using picocli with jline2.

You can delegate the heuristic to picocli which seems better than the jline2 heuristic (instead of using -Djline.terminal=jline.UnsupportedTerminal)

The code can looks like :

// 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);
}

(see https://github.com/jline/jline2/issues/185)

Upvotes: 0

sangupta
sangupta

Reputation: 2406

Finally found a small trick to make it work. Add the following VM option to the execution parameters (Run Config/Debug Config)

-Djline.terminal=jline.UnsupportedTerminal

This will make the code run inside Eclipse. However, some strange characters may be written to the console during the course of the run.

Hope this helps.

Upvotes: 16

Related Questions