Skip navigation

JBoss Tools

January 27, 2011 Previous day Next day

Over the past few weeks, I have started the integration of Seam Forge into JBoss Tools. Today I am happy to present the first results of this work.


If you are familiar with the Eclipse platform the installation should be a breeze for you. The easiest way is to download a recent Eclipse version and use the 'Help->Install New Software...' wizard to install the latest and greatest JBoss Tools from the update site. Don't forget to include the Maven integration for Eclipse as we will need it later on. After this, use the same mechanism to install the forge tools from this update archive. Restart Eclipse and you should be set to go.

Install Forge.png

Starting and Stopping

Now that the installation is dealt with, let's have a look whether everything went ok. You can bring up the "Forge Console View" by selecting 'Window->Show View->Other...' and then 'Seam Forge->Forge Console'.

Forge Console.pngAs you can see the Forge Console View has a toolbar and a dropdown menu that allow you to start and stop Forge. The initial message pane indicates that Forge is not running. Let's get going and push the 'Start Forge' button.

Forge Started.png

After a while, the Forge welcome banner appears and you are invited to enter forge commands. The very convenient tab completion suggesting the list or possible commands does not work yet, but you can get the suggestions anyway by pressing tab followed by a return. Also, the coloring is not yet enabled like when using Forge directly in a terminal window. When you're done working you can stop Forge by pushing the 'Stop Forge' button.

Create a Project

To make things a bit more interesting, let's try the tutorial from Lincoln's blog. We create a new project called 'foo' with top level package '':


[no project] workspace $ new-project --named foo --topLevelPackage

Foo Created.pngNow the project is created but unfortunately, we cannot see it in our workspace. This is one of the obvious features that need to be added. For now, we have to import the project in the workspace. Here is where the Maven plugins come into play. For Forge projects are indeed Maven projects too. Select 'File->Import...' and then 'Maven->Existing Maven Project'. Point the wizard at the workspace root and the 'foo' project should show up in the list of projects to import. After importing the project shows up in the package explorer.

Package Explorer Foo.pngWe enter the next few commands from the tutorial:


[foo] foo $ install forge.scaffold

[foo] foo $ new-entity --named Person

[foo] $ new-field string --fieldName firstName

[foo] $ new-field string --fieldName lastName

[foo] $ cd ..

[foo] domain $ scaffold generate-metawidget-jsf *.java


To see which changes are performed in the project by these commands we need to refresh the project.

Complete Workbench.png

Again, it would be good if after issuing each command the relevant changes would be highlighted by setting the relevant folder, file or file element selected. This is more work for the future.

The Future

As suggested, a lot more work is waiting... Some of the features that are on the list are:

  • Adding a preference page to be able to add and select Forge runtimes.
  • Support for tab completion suggesting the list of possible commands.
  • Support for command history.
  • Support for colors in the Eclipse Forge Console.
  • Show appropriate feedback after each command.
  • etc.

If you are interested in helping out implementing some of these features or if you just want to view the code implementing the current console, you can find the sources in the JBoss Tools SVN.


Happy forging!



[Download] [Update Site] [Market Place] [What's New] [Documentation] [Forums] [JIRA] [Twitter]


Note: Downloads are now being served from while we wait for Sourceforge getting their issue fixed.


This release is squashing 400+ issues thus if you use JBoss Tools milestones it is time to upgrade and if you find remaining issues report them as soon as possible.


What's New covers the usability fixes there have been added, and a few new additions/improvements.


Top 6 on Eclipse Marketplace

Even though we haven't been on Eclipse Marketplace for long we are already the 6th most downloaded Eclipse plugin within 30 days on Eclipse Marketplace; and in 9th place of all time.


Thank you for the interest and usage - if you don't know Eclipse Marketplace, you can see how to use it here.


For those already using it, I encourage you to go and give us your star or even a review at our Eclipse Market Place page


Automatic Runtime Detection

First of all this release finally enables one of my favorite new features "Automatic Runtime Detection". It's been possible for a while now to use the "Search" button under JBoss Tools to find JBoss runtimes and have them configured and setup in the IDE for direct usage without having to set up all the individual parts.


In this release we have gone a bit further and allowed you to configure a set (one or many) of directories that JBoss Tools will scan on new workspaces or if you enable it at every startup; if anything new is found it will show the new items and you can then say if you want the runtimes to be installed or not.


This means when you install a new version of JBoss AS, Seam, Drools, EAP, SOA-P, etc. you can simply put in this "watched" directory and JBoss Tools will configure them for you in the IDE. In the future we will add more types of runtime distribution detection such as Java JDK's.


This feature is available under Eclipse Preferences in JBoss Tools > JBoss Tools Runtime Detection

CDI Improvements

For Context Dependency Injection (CDI) we've added a few quick fixes against some of the more common issues our validator finds.

This allows you to use Ctrl+1 on warnings and fix issues. For example fixing @Produces annotations on non-static methods in a Session Bean by making the method static.


We've also added support for the Maven integration to enable CDI automatically if/when your pom.xml file referenes the CDI api jars. Making it simple to import a Maven based CDI project and have all features enabled.





There is more shown in What's New, take a look, try the release and let us know how it goes! If nothing major is found we'll be releasing the final version within the next couple of weeks.


Have fun!

Filter Blog

By date:
By tag: