A JBoss Project
Red Hat
This is the archived New & Noteworthy page that is also part of  4.2.0.Final

What's New in 4.2.0.Beta3


Hybrid Mobile (Cordova) Tools

Restore Cordova plugins during import

On importing Cordova projects to the IDE, registry plug-ins referenced in the project config.xml files are automatically restored. This makes sharing Cordova projects within teams possible without adding plug-ins to a source control system. Additionally, project config.xml files are updated when plug-ins are added or removed from projects using the IDE Install and Remove Cordova Plug-in tools so you can be confident that the config.xml files contains up to date plug-in information.

See Gorkem’s post for a demo of the feature.

Related JIRA: JBIDE-17301


Improving the way of handling unsupported plug-ins in CordovaSim

Now every time when CordovaSim can’t handle a plug-in, the following prompt is displayed:

Error message with unsupported plug-in info

Notifications can also be disabled in the Settings tab of CordovaSim’s preferences :

Unsupported plug-ins option

Related JIRA: JBIDE-17588

Forge Tools

Forge 2 Runtime

The included Forge 2 runtime is 2.7.2.Final.


Previous Choices

The popup dialog containing the available Forge commands now shows the most recent choices at the top.


Current Selection

As shown in the previous image, the popup dialog with the available Forge commands now shows the current selection from where the popup was opened. Also the wizards that are launched show this current selection in the title bar.


JST / JSF / HTML Editor

JavaScript Editing improvements

Target Platform is updated with the Tern.java v. in order to bring the latest improvements and fixes of JavaScript Content Assistant into JBoss Tools:

  • Embedded Node.js distribution provided for Windows x86/x86_64, Mac OS X, Linux x86/x86_64

  • Embedded Node.js is used by default, so tern works right out-of-the-box

  • ECMA5 and Browser Tern Modules are turned on by default for JavaScript projects

  • Cordova Tern Module is turned on by default for HMT projects

Related JIRA: JBIDE-17673


In this release we introduce an initial support for Ionic widgets in the HTML5 palette view.




Related JIRA: JBIDE-17851

Header bar


Related JIRA: JBIDE-17728


Related JIRA: JBIDE-17874



Related JIRA: JBIDE-17912



Related JIRA: JBIDE-17850

Content assist

All these widgets are also available as templates in code assist.


Related JIRA: JBIDE-17852

We continue to work on this palette and more widgets are coming with the next release.


JBoss Maven Integration

Maven Central Archetype catalog

Since m2e 1.5.0 no longer downloads Nexus Indexes by default, a very small, outdated subset of Maven Archetypes is available out of the box.

To mitigate that, the JBoss Tools Maven integration feature now registers by default the Maven Central Archetype catalog, providing more than 9600 archetypes to chose from, when creating a new Maven project. Accessing the complete list of archetypes is even way, way faster (a few seconds) than relying on the old Nexus index download.

maven central catalog

Related JIRA: JBDS-3033


Edit domain members

OpenShift allows you to add and remove other users to your domain and grant them view or write permissions. In JBoss Tools 4.2.0.Beta3 we added a link to the domain wizard. Hitting this link points your browser to the webpage in the OpenShift where you can manage your domain members.

edit domain members

Related JIRA: JBDS-2777

Choose the local changes that you want to publishing to OpenShift

JBoss Tools 4.2.0.Beta3 now allows you to pick the files that you want to publish. Once you tell the OpenShift server adapter to publish, it checks the pending changes and lists them in a dialog. You may then stage the ones you want to push and provide a commit message.
The very same is true for the inital import of your OpenShift application: The application-/import-wizard lists the files it changed and allows you to commit and push them back to OpenShift.

commit and push dialog

Related JIRA: JBIDE-10541

Save and restore Snapshots to/from your workspace

You can now save and restore your OpenShift application snapshots to and from your Eclipse workspace:

save snapshot to workspace

Related JIRA: JBIDE-17413

Server Tools

JMX Support

Grouping of connections

The JMX Navigator now has three groupings: User-defined connections, Server connections, and Local Processes. This categorization makes it clearer where the connection comes from. As connections are added to or removed from the view, the overall ordering will no longer be disturbed, which could otherwise be distracting.

JMX Navigator Categories

Related JIRA: JBIDE-17639

JBoss Server Adapters

Servers and Execution Environments

Servers can now specify either an execution environment or specific JRE to be used for its launch. The list of available environments or JREs are based on the server type.

Servers and JREs

Related JIRA: JBIDE-17646

Modifying server profile

Modifying a server profile often requires some changes to various settings. Without these changes, the resultant server adapter may be in a inconsistent state. For example, a remote server that does not expose its management port should not be using the management API to determine if the remote server has started successfully.

Until Beta3 you could not change this via the UI, now you can. There is now a "Behavior Profile" hyperlink in the server editor to change the used profile via a wizard.

Once the wizard is complete, the server editor will save, close, and re-open to pickup the latest changes.

Changing Server Profile

Related JIRA: JBIDE-17636


JVM name usage

JVM name and architecture (32/64 bit) are now collected for usage statistics to help JBoss Tools team to learn more about how our users are using the tooling. JBoss Tools also tracks events when the runtime detection mechanism creates a new server.

All information which is going to be collected is reflected in Preferences > JBoss Tools > Usage Reporting for you to review.

As always JBoss Tools will not send any information before a user have opted in, nor is there any personal information sent.

Related JIRAs: JBIDE-15596, JBIDE-17520

Web Services Tools

As-you-type Validation

As-you-type validation occurs in the scope of the java element (type declaration or method) that is being edited. If the java element corresponds to a JAX-RS element, this later is validated. Note that as opposed to "cascade validation" (see below) that occurs when the underlying file is saved, the related JAX-RS elements are not validated "as-you-type", in order to keep the process as fast as possible.

Related JIRA: JBIDE-17308

When fixing problems in a class, all related JAX-RS elements are included in the set of classes of to be validated, which means that related problems can end up being resolved too.

For example, let’s assume that a user has the following classes:

public class Car {

	public Car fromString(String value) {
		return ...;



public class CarResource

  public Response createCar(Car car) {

In this example, the JAX-RS validator will report a problem on the CarResource#createCar(Car) method because the Car class is not a valid parameter: the Car#fromString(String) method should actually be static. When the user adds the missing static modifier on the Car#fromString(String) method and saves the file, not only the Car class will be validated, but also the CarResource, and at the end of the day, the problem reported earlier will be resolved.

Related JIRA: JBIDE-17368

Support for Resource Fields, Resource Properties and Parameter Aggregators

JAX-RS Resource Fields and Properties (ie, fields or setter methods annotated with @PathParam, @QueryParam, @MatrixParam), as well as the JAX-RS 2.0 Parameter Aggregators (ie, method parameters, fields or setter methods annotated with @BeanParam) are recognized.

These elements are taken into account when validating the project and when displaying the Endpoints URI templates in the Project explorer.

For example, let’s assume that a user has the following class:

public class CarResource {

	private String year;

	private String color;

	public Response getCar(@PathParam("id") String id) {
		return ...;

In that case, the Endpoint URI template associated with the Resource Method and displayed in the Project Explorer will be /{id:String};year={String}?color={String}

Now, if the user has the following classes:

public class CarResource {

	public Response getCar(@PathParam("id") String id, @BeanParam OptionalParams options) {
		return null;


public class OptionalParams {

	public String color;

	private String year;

	public String getYear() {
		return year;

	public void setYear(String year) {
		this.year = year;


then the Endpoint URI template associated with the Resource Method (and its associated Parameter Aggregator) and displayed in the Project Explorer will also be /cars/{id:String};year={String}?color={String}

In this second example, it is the @BeanParam annotation on the method parameter that is used to link to the Parameter Aggregator.

back to top