JBoss Tools – more than just JBoss

JBoss Tools is a set of plugins with the tagline "Eclipse Plugins for JBoss Technology". This tagline is true, but JBoss Tools actually contains a lot of features that are not limited to just JBoss specific technologies. In this article I'll highlight a few of those features that is useful for (almost) all.

Quick Connect a Remote Java debugger

Eclipse has great support for running Java applications and application servers directly from the IDE, but sometimes you are in a situation where you cannot do that. You might have to launch the process from a command line directly or from your favorite build tool, and from then manually setup a remote launch in Eclipse.

We found that a bit tedious, thus we added support for Connecting a debugger directly from our _JMX Navigator_ view which has the functionallity of listing any running Java Hotspot based JVM.

Imagine you are running Tomcat from the command line with debug enabled:

sh catalina.sh jpda start

Now instead of remembering which port to connect to you simply right click on the relevant process in the JMX Navigator view and click "Connect to Debugger".

connect debugger

Now JBoss Tools will setup a remote connection to the debugger, added all projects to the source lookup (which you can edit if you want).

That is it. Nothing else needed for quick debugging of externally launched applications.

You can read more about this feature here.

Live Reload

When developing web applications it is tedious to have to click Reload in the browser when you do updates.

To help that in JBoss Tools, when an HTML/CSS/JavaScript or image file is changed in the workspace, or a resource is redeployed on your server, the embedded LiveReload server running in JBoss Tools commands your browsers to reload its content. No need to go back and forth between the IDE and the browser to see the changes on the pages.

live reloader server

This is done by supporting the LiveReload protocol, meaning this will work with any browser that has LiveReload plugin installed or if you allow JBoss Tools it will inject the necessary Javascript into your HTML page to have it work automatically.

live reloader browser

This functionallity is not only available on resources in the filesystem, but also when serving content via a server controlled by WTP; meaning you can have this enabled on even remotely running servers and you can even use the "Open in External Device" to have a QR code to easily browse with LiveReload enabled on your mobile phone or tablet.

live reloader qr code

Deploy Only Server

Finally there is our Deploy Only server.

The Deploy only server is a server adapter which has support for all the incremental deploy features our JBoss server adapter has. Meaning it can keep a directory (both locally and remotely) in sync with what you have defined as a deployment in Eclipse.

This means you can use JBoss Tools to deploy your PHP, Node, Ruby-on-rails, etc. application to a remotely running instance and have it done incrementally directly from within the Eclipse IDE.

Combine that with Live Reload above and you get a nice quick continous deployment feedback without requiring or setting up additional tools.

You get to this server by using File ➤ New ➤ Server and choose the "Deploy Only Server".

deploy only

Then you specify the directory to deploy to and you end up with server in the server view.

With this server you can now deploy WTP modules or any content made Deployable via "Mark as Deployable" on any resource in Eclipse workspace.

...and more

JBoss Tools also adds support for technologies like CDI, webservices - JAX-RS or JAX-WS and Batch which are not (yet) present in Eclipse WTP. There is BrowserSim and CordovaSim for mobile testing to extend what is in Eclipse Thym. We add features utilizing Maven that goes beyond what is in m2e or m2e-wtp.

...and then of course there are the JBoss and Red Hat specific feature support like Hibernate, OpenShift, WildFly, EAP, Fuse, etc.

You can see more at http://tools.jboss.org/features/index.html

The End

Hope you enjoyed the brief look into some of the generic features provided by JBoss Tools and want to give it a try.

You can find more info at these locations:

About the Authors

Max Andersen

Max Rydahl Andersen
Red Hat