CRaSH 1.0 released – a shell to extend the JVM’s capabilities
A new project aiming to extend Java’s capabilities has appeared, with exclusive features like Telnet/SSH connectivity and extensive command options.
It’s always nice to profile homegrown projects that don’t
necessarily get the mainstream coverage they deserve. With that in
mind, let’s introduce CRaSH 1.0 (yes, mostly upper case), a new
straight-out-of-the-box extensible shell for the JVM.
Initially started by eXo Portal’s Product Manager Julien Viet as
an experiment in his spare time two years ago, CRaSH (which stands
for Common Reusable SHell) deploys in a Java runtime and
provides interactions with the JVM to extend its capabilities, as
well as being attached to any local JVM. Commands are written in
Groovy and can be developed at runtime making the extension of the
shell very easy with a fast development cycle.
The key benefit of CRaSH is that it allows Java developers
to write Groovy commands without even learning Groovy itself,
meaning they can utilise the best features of the dynamic language.
Viet notes the other ‘exclusive’ features within his blog
announcement, which are:
- SSH and Telnet connectivity
- Standalone and attach mode
- Extensible with hot reloading commands
- Ready to use: JVM management, JDBC access, etc…
- Powerful contextual completion
- Pluggable authentication
- Easy to embed
- Java Content Repository plugin for eXo JCR and Jackrabbit
After demonstrating CRaSH at Devoxx France last week, Viet
believes that his fledgling project has potential for the JVM
I’m sure that now many people will find an interest in CRaSH
because it fill real and growing needs on top the JVM:
- Extend any kind project with a professional Command Line
- Take control of a JVM in a couple of seconds and make it
Should it prove popular, CRaSH could indeed go places, providing
some nifty features to the Java platform and the JVM. The CRaSH
website states that the project is ‘open source and open minded’ so
any ‘crazy idea’ (in Viet’s words) to improve the project is
A roadmap isn’t yet set in stone, which isn’t necessarily a bad
thing especially if the community grows to a large amount. We think
that many will get onboard this neat little experiment and guide it
onto greater things. Watch this space and get contributing.