Even with modern IDE's and tools to hotswap code, there is always a need to programatically debug and control your application once it is up and running. That's where JHawtCode comes in. In my early days' I can remember playing the game Quake; one of the options was to press the tilda key "~" and get a drop down console of options where you could programatically alter the runtime properties of the game. While I mostly used this to enable cheat codes, the concept translates really well into web application development. Sometimes, I need to run some code to either print out a session variable on the page, or execute a method that I forgot to code before starting up my server. Heck, even if I started up the server with the wrong runtime property, I would much rather change the value than restart the server again. Forget to load a class... No Problem. JHawtCode takes the code you write and dynamically compiles it in the classpath of your application, then loads and executes it. Feedback from your code can additionally be returned to the console using a built in printstream. All of these features are geared to make application development easier and troubleshooting faster.
Installation is a breeze. To begin, simply include the JHawtCode jar in your project. Next, add component scanning to pick up the new endpoints for package "com.ddubyat.develop.jhawtcode.*". Then, setup a system property to get it all going: -Djhawtcode.enabled=ICERTIFYTHISISNOTPROD
Commands for JHawtCode are based off of a simple vim like structure. When you enter the console, just begin typing code, then on a newline type ":w" to write that code, compile, and execute it. Hiding the console and clearing the buffer is just as simple, ":q". Full documentation in the readme below.