Monday, April 25, 2011

How could I call Java code dynamically ?

How could I write Java code that is executed like javascript code used together with the eval function?

What I would like to achieve would be something like this:

System.execute ("String str = \"test\"; System.out.println(str);");

which would print the word 'test'. (10x dehmann )

A code sample would help a lot.

From stackoverflow
  • Try this 6 different ways to simulate EVAL in Java

  • Look into BeanShell or Groovy. Both will give you reasonable solutions--but those solutions rely on my interpretation of your problem, which may be flawed.

    Camilo Díaz : +1. For me, this is the best approach.
  • I've used the JavaScript engine shipped with Java 6 and it works quite well. The performance of the engine is very very decent.

    Check the page http://java.sun.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html

  • For completeness sake, the Compiler API is coming in the next version of Java..

    Peter Lawrey : The Compiler API is in Java 6. It works but its ugly to use. However you can use BeanShell and JCI if you don't have Java 6.
  • I believe the compiler API is present in the current Java SE 6. See the javadoc.

    See this blog post for details and an example.

0 comments:

Post a Comment