Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there an alternative to BeanShell ? Something like javascript or groovy console for Java?

I was wondering if there is some kind of shell that would just listen to user input (with a line buffer) and run in internally from within main method, including jdk on classpath. So that it would look like JavaScript console in browsers or groovy console. It would be handy for testing snippets of code.

One could just write this into the shell and hit return:

Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
    System.out.format("%s=%s%n", envName, env.get(envName));
}

This is what bsh.Interpreter can do. But I find it very hard to use. I cannot move back/left with cursor on the shell line... ^[[D^[[D^[[D .... I can only delete last characters. Not sure if it is OS specific (I'm on linux) but it is very inconvenient...

I mean something in Java language, not Jruby, Jython or Groovy

like image 394
lisak Avatar asked Nov 05 '22 20:11

lisak


1 Answers

Java text console is very basic with line buffering. This is a feature of Java. You can change the input using JNI, however it is simpler to produce a GUI where you have full control over how you want the input to behave.

like image 152
Peter Lawrey Avatar answered Nov 09 '22 13:11

Peter Lawrey