Configuring Eclipse with WildFly (2023)

How do I integrate WildFly with Eclipse? This tutorial shows how to do it, by installing the JBoss Tools plugin  on Eclipse so that you can manage e local or remote WildFly application server without leaving your favourite IDE.

Installing JBoss Tools

In order to install JBoss Tools make sure you have installed the latest Eclipse release. Next, move to the Help | Eclipse Market Place and enter in the search box “JBoss Tools”. You will see several JBoss Tools releases available. Choose to install or update the latest stable JBoss Tools plugin:

wildfly eclipse

In the following screen select the “JBoss AS, WildFly & EAP Server tools” plug-in and restart Eclipse once completed.

jboss eclipse

Next, choose from the upper Menu: File | New | Server and expand the JBoss Community option. You will see the “WildFly” Server is available:

jboss tools plugin eclipse

In the current version of JBoss Tools plugin for eclipse you will see as latest version “WildFly 24+“. You can obviously use that for any release equal or greater than WildFly 24. In most cases, there is no strict requirement to match the exact server version.

Next, you have to choose if the Server is locally installed (Local) or it’s a remote server (Remote) and how you are managing the Server Lifecycle:

eclipse wildfly configuration

Finally, point to the installation folder of the following items:

  • WildFly Home directory
  • Runtime JRE that you will use for the execution
  • Server base directory and configuration file name

The following picture shows the above options::

start jboss with eclipse tool

Click Finish. The configuration of WildFly in Eclipse is complete!

start wildfly from eclipse

Click on the Icons in the toolbar to Debug / Start / Profile / Stop your Server. Right click on it and choose “Add or Remove ” to Deploy applications on it.

If you want to learn how to debug remotely WildFly with eclipse check this article: How to debug remotely WildFly

Running JBoss Tools with Java 16 or newer

Since Java 16 all Java internals are by default strongly encapsulated. This forbids external access from reflection. In particular, you will see exceptions for modules that are attemempting to initialize Classes via reflection. Example:

Could not initialize class org.wildfly.security.auth.client.DefaultAuthenticationContextProvider

To circumvent this issue you need to open the above module for external access.

Make sure that eclipse.ini includes the following option, which will be added to the JVM startup parameters:

--add-opens=java.base/java.security=ALL-UNNAMED

Sometimes your application server requires to deploy a large number of artifacts, which in turn might access external resources. Therefore, it is common that the server start up will take some time.

How to avoid the start up limit in Eclipse

Sometimes your application server configuration requires some time to complete the start-up. Here is what could happen when you try to start the application server from Eclipse:

eclipse jboss timeout start

By default Eclipse has a 50 second limit which is really too short, especially if you are starting JBoss 5.X releases.

To overcome this limit you have two options:

  • Double click on the server icon (In the Servers tab). In the next panel choose an appropriate timeout for your server.

eclipse timeout

Conclusion

In this tutorial, we covered the steps required to configure Eclipse to use Wildfly. We installed Wildfly, installed the JBoss Tools plugin for Eclipse, created a new server, configured the server, and started the server. With these steps, you should now be able to use Eclipse to develop and deploy applications on the Wildfly server.