I don't think making modders download a full JDK is all that much of a stretch. Players certainly shouldn't have to.
Just my thought. I realized that I don't really need the ability to compile scripts in the actual game... >_> Stupid stupid stupid!!!
I mean.. just make it easy for yourself

I don't think performance is going to be a problem this way.
Oh, I will have lots of scripts. I'll be having lots of script hooks/functions that can be implemented by scripts and they are then called when the specified event happens. For example, to implement a life stealing attack, you would have a positive buff that gives a unit a script that has a onAttack() function implemented that checks how much damage is done and gives the unit life depending on how much damage you do.
All in all, I will probably have several hundred script functions called each game update.
I don't know. Let me be an idiot here, for a minute.
Don't make a game in java, where all the logic is in scripts, and then expect better performance than in java. Either, you keep it java and provide a compiler or you take jython, or jruby and deal with what performance you will get. It's the price of wanting everything scripted.
/endjerk.
I'm curious; why might you possibly need this? Players who want to mess with scripting, should not have a problem compiling.
Uhmm, my "scripts" are obviously in Java if I use Janino/JavaCompiler. I don't expect better or even equal performance to Java, just acceptable performance for a game with lots of scripts. I've heard that one of the biggest overheads with script interpreters is calling a script / script method. My case of calling many hundreds 1-5 line script methods would therefore be a worst case scenario for interpreted script languages. I'm just trying to do this "right" the first time so I hopefully don't have to redo it.
Both Mads and Sproingie do have a point that people who want to mess with scripting and such stuff shouldn't have a problem with installing the JDK, so believe I have "solved" my actual problem here. I'll compile scripts in the map editor and save them in the files, so only the map editor will need a JDK to compile scripts. The actual game will only load the compiled scripts' class files. I will continue to keep an eye on Janino though, as implementing it in the map editor would be very nice. I'd also like to implement my stat expressions (like Damage = Strength * 3) using compiled code instead of the external expression lib I'm using right now. This would obviously not be affected by the bug(s) mentioned earlier in the Janino compiler, so I'll probably implement it when I have the time.
I'm curious; why might you possibly need this? Players who want to mess with scripting, should not have a problem compiling.
I know that wasn't directed at me but... compiling is a huge pain for a lay modder. If you don't have to compile, the barrier of entry is really low - a text editor and the willingness to experiment. Once you make them run javac with a classpath set properly and all that, I'd think you're weeding out the vast majority of people who might otherwise be interested.

I'd obviously do all the compiling in the map editor using JavaCompiler. No need to manually compile scripts. I'll then have a play button that compiles all the scripts and fires up the game with the map, and also an export function that saves a playable map from a map project with all the scripts compiled so that it can be opened by the game without the need for a JDK. The only thing that the actual modder/maker is exposed to when it comes to compiling is having to download the JDK.