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?
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?
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.
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);
}
© 2022 - 2024 — McMap. All rights reserved.