A JBoss Project
Red Hat

What's New in 4.4.0.Final


General for JBoss Tools 4.4.0.Final

JBoss Tools is now targeting Eclipse Neon.

Docker Tools

Dockerfile Editor

This is an awesome, external contribution, brought by Tobias Verbeke and his team from Open Analytics. The Dockerfile Editor provides users with content assist on the commands (ADD, COPY, RUN, etc.) as well as a customizable syntax highlighting.

Docker Editor

Executing shell in a container

When running a container, users can execute shell commands from the Terminal view.

Shell in Terminal view

The context menu is available in the Docker Containers view and will be available in the Docker Explorer view too in the next release.

Running privileged containers

Containers can be run with the --privileged flag, which gives them extended privileges, such as accessing all devices, and allowing them nearly all the same access to the host as regular processes running on the host (i.e., not in containers).

Privileged flag

Supporting disconnections

Sometimes the Docker instances that were configured in Eclipse are not running anymore (the Docker Machine were stopped, for example). In that case, the Docker Explorer view will display a different decorator for those connections, and an "Enable connection" button in the toolbar will let the user reconnect.

Connection offline

Push images to registries with authentication

Docker images can be pushed to registries with support for authentication. A preference page will let the user configure the Docker registries connection settings, including the credentials to use.

Docker registry accounts

The "Push Image" wizard lets the user select the target registry and then takes care of tagging the image with the registry location before performing the push operation.

Push Docker image to registry

Edit configuration

Users can now edit the connection settings instead of having to remove and re-create a connection when the settings changed (this can happen when the IP address allocated to a Docker Machine changed upon restart)

Edit connection settings

Improved support for disconnections

We’ve kept working on the support for disconnections and the Docker Explorer view now hides the expand button and changes the icon to a gray color when the connection to the Docker daemon is lost. Users can still edit the connection and use the 'Enable' button in the toolbar to re-establish the connection when the target Docker daemon is back in a running state.

Forge Tools

Forge Runtime updated to 3.2.2.Final

The included Forge runtime is now 3.2.2.Final. Read the official announcement here.


JavaScript Tools

EcmaScript 2015

An important part of rebooting the JavaScript Development Tools (JSDT) project was updating the JavaScript language level supported with JSDT. Obsolete parser/compiler tool chain was replaced with esprima parser that supports the ECMAScript 2015 (ES6) which is the latest JavaScript specification release at this time:

ES6 features on Editor

More information about EcmaScript 2015 improvements can be found in the Eclipse may newsletter article JSDT, meet EcmaScript 2015

Node.js Support

Node.js runtime definition is now available via Eclipse Preferences → JavaScript → Runtimes:

Node.js Runtime

Also there is a new Node Launch configuration for running / debugging Node.js applications:

Node.js Launch

The process of debugging has been significantly improved. Now all debugging happens directly in the JSDT editor:

Node.js Debug

While debugging, all JavaScript variables will be available in the Variables view:

Variables View

Hovering over variables in the editor is also supported:

Hovering over function

Live Edit functionality is supported via V8 Debugging → Push Source Changes to VM menu items:

Push Source Changes to VM

More information about Node.js improvements can be found in the Eclipse may newsletter article Neon and Node.js: A magical friendship!

Grunt / Gulp Support

Now all tasks defined in the Gruntfile.js / gulpfile.js are available in the Project Explorer view:

Gulp Task

Running a task is supported via → Run As → Gulp / Grunt Task menu:

Running Gulp Task

More information about JavaScript task runners can be found in the Eclipse may newsletter article Next station: Grunt and Gulp Automation!


Here is a short video which demonstrates new features and enhancements of JSDT 2.0 release:

JSON Editor

New editor is available for mastering JSON files: JSON Editor. This Editor is a part of Eclipse Web Tools and available in the latest Eclipse Neon release.

JSON Editor

Validation and content assisting are available for the following well-known JSON files: * bower.json * .bowerrc * package.json * .jshintrc

Bower Editor content assist

JBoss Central

New EAP 7 quickstarts

Red Hat Central now lists quickstarts targeting the newly released Red Hat JBoss Enterprise Application 7.0 server.

Related JIRA: JBIDE-22459


Deploy docker images to the CDK OpenShift registry

The New OpenShift Connection wizard now supports setting a Docker registry url in the advanced properties section:

docker registry advanced properties

This allows you to push docker images to the given Docker registry via the Deploy Docker Image wizard, right before actually creating the OpenShift resources.

When using the OpenShift instance from Red Hat’s Container Development Kit, you must select the Container Development Environment Docker Connection. The username and password (actually the OpenShift token, as per this documentation) are already preset for you.

deploy push docker image

If the CDK docker connection has a new version of the Docker image, it can be pushed again via the same mechanism.

Related JIRA: JBIDE-22193

Delete multiple projects

The OpenShift Explorer now supports deleting multiple OpenShift projects at once, via the Delete Project…​ menu

multiple delete

Related JIRA: JBIDE-21420

Route created by default

A route is now created by default when creating a new application from a builder image or when deploying a docker image:

add route by default

You can uncheck the Add Route checkbox, if creating a route to your service is irrelevant to your use case.

Related JIRA: JBIDE-22165

Improved OpenShift 3 support

New support for builder images

The New OpenShift Application wizard now supports builder images, on top of the existing template support:

builder support

Compared to regular templates, with the builder image-based workflow, users will be able to define:

  • git source url

  • build triggers

  • environment variables

  • data volumes

  • replicas

  • exposed service ports and routes

Related JIRA: JBIDE-22118

Create new resources

The OpenShift Explorer now provides a New > Resource menu, that lets you create new OpenShift resources from an existing file, similar to the oc create -f some_resource.json command. Resource files can be local (from File System or Workspace), or remote, by providing a URL.

create resources wizard

Once the file is uploaded and processed by the OpenShift server, a summary dialog will display the list of all the resources that have been created.

Related JIRA: JBIDE-20937

Scaling pods

It is now possible to scale pods up and down, from the Service context menu in the OpenShift Explorer, or the Deployments and Deployment Configuration context menus in the Properties view. Scale > Up will spin up one more pod, Scale > Down will remove one pod. Scale > To…​ will open a pop-up dialog to let you set the amount of pods you want your OpenShift to spin up.

scale up down

Related JIRA: JBIDE-21634

Create application from remote template

The new OpenShift 3 Application wizard now supports URLs, when using a custom template.

Related JIRA: JBIDE-22190

Automatically select OAuth token

When creating a new OpenShift 3 connection in OAuth mode, an integrated browser opens, to connect to the Openshift instance. The OAuth token displayed on the page is now automatically copied and pasted to the token field of the connection wizard, once the browser is closed.

Related JIRA: JBIDE-22360

Server Tools

Allow setting exploded or zipped setting on a per-module basis

In the past, the decision of whether to explode or package up a project for deployment was made as a setting on the entire server. This setting would be respected for all top level modules, and for most nested modules (for example, a Web project nested inside a EAR Project would also be exploded if the EAR was exploded). The server-wide setting was not 100% respected at all times, though. Specifically, even if the server-wide setting was to explode deployments, in some cases, nested utility jars would still be zipped, depending on the server type and its support for exploded Utility jars.

Users requested a more fine-grained control over which of their projects would be exploded or packaged. To help, we’ve added a new column to the per-module settings section of the deployments tab of the server editor. This will allow users more flexibility and certainty when deciding how specific projects should be packaged.

JBIDE 20577

Related JIRA: JBIDE-20577 - Allow setting exploded or zipped on per-module basis

Starting remote servers will now connect remote debugger

When creating a new server in JBossTools, you are provided the option of using a local framework or a remote framework to manage it. When choosing the remote option, JBossTools will now helpfully add debug JVM options to the startup command when you right-click your server and select 'debug'. Then, it will automatically launch a 'Remote Java Application' launch to connect the eclipse debugger to your remote application server.

There are, of course, some limitations. We will only automatically add the debug JVM options if you have not customized the launch script at all. You can see below where you would override our default command to launch against a remote server. As long as 'Automatically Calculate' is checked, we will add the flags when you start the server in debug mode.

JBIDE 9442 launch

However, you will not see the added flags in the text field shown. The reason for this is that since we only add those flags when launched in debug mode, it is inappropriate for us to show them in the general launch configuration UI, since they may or may not be included in the remote command.

New UI has also been added to the Server Editor’s 'Ports' section to allow you to customize which port to use when exposing the debug port, and to also use when launching the remote debugger. This new UI is shown below.

JBIDE 9442 editor

Related JIRA: JBIDE-9442 - Investigate possibility for remote debug launch of app servers

back to top