Payara Tools 1.0 - New and Noteworthy

Photo of Arjan Tijms by Arjan Tijms


Payara Tools 1.0 has been released after having been in alpha since last year.


Here is a list of some of the noteworthy items available in this release.



Can choose main install dir for new runtime

A convenience option has been added to let you choose the main folder of a Payara installation in addition to the embedded Glassfish folder.










Stop button in progress view now stops launch process

The stop button displayed in the progress view when launching Payara used to be a NO-OP, causing the UI to get stuck whenever Payara would not respond anymore during launching. Now it disconnects Eclipse from the launch process.




Support for JDK range patterns in domain.xml

Payara 5.184+ uses JDK patterns in its domain.xml file. These weren't recognised before, causing startup to fail. Now they are supported, and additionally the plug-in scans which Java version Payara is actually using.

JDK conditional JVM options in domain.xml:



Earlier versions of the plug-in were not processing these, leading to errors like:



Open assembled and deployed module in file browser

It's now possible to navigate directly to the final assembled module (for instance a .war file for a web application) as it is deployed to Payara. This can be useful for troubleshooting purposes.


Select the deployed module, then choose Show in and then Open in File Browser:



The OS file browser will show the assembled module:



Navigate from deployed application to source project

From a deployed module underneath a server instance it's now possible to navigate back to the source project corresponding to this deployed module.


Select the module, then click on Goto Project:




The associated project is now highlighted and opened in the project explorer:





Domain.xml and other Payara config files directly shown in Eclipse

All domain files associated with a Payara Server runtime are now shown directly in  a project in the Eclipse workspace:



Support for Payara installations with space in path

Earlier versions of the plug-in did not support installations of Payara with a space in its path. This is now supported:






Hot deploy enhancements

Hot deployments were possible before, but changes to .java files triggered a server restart, even though some changes can be safely hot deployed. The file pattern that triggers a restart is now configurable and has been defaulted //.jar$ (meaning the application will restart when a jar file changes):






Option to attach debugger early



The default mode for the debugger is boot up Payara Server fully and then attach. For debugging applications this is usually fine, but for debugging complex behaviour involving server internals this may be too late. There is now an option to start Payara in suspended mode, attach the debugger immediately and then continue booting Payara:



Support for Eclipse 4.9/2018-12+

The plug-in depends on a dependency called "Sapphire", which wasn't correctly declared in older versions of the plug-in, yet Eclipse was able to find it in Eclipse 4.8 and earlier. From Eclipse 4.9 onwards installation would complain with:

Cannot complete the install because one or more required items could not be found.

Software being installed:
    Payara Tools


Missing requirement:
    Payara Tools  





    but it could not be found

This has now been fixed.

Support for Payara 5.191 (JDK 8) and Eclipse 4.9 (JDK 11)

While Payara itself does not run on JDK 11 yet, the following exception was thrown when running Eclipse on JDK 11 and trying to start Payara 5.191 (Payara running on JDK 8):



Can't find bundle for base name sun.util.logging.resources.logging, locale en_US
  at java.base/java.util.ResourceBundle.throwMissingResourceException(
  at java.base/java.util.ResourceBundle.getBundleImpl(
  at java.base/java.util.ResourceBundle.getBundleImpl(
  at java.base/java.util.ResourceBundle.getBundleImpl(
  at java.base/java.util.ResourceBundle.getBundle(

This has now been fixed.


Added system libraries for Payara 5.191+

When using Payara as a target runtime (as is common for a native Eclipse project instead of e.g. a Maven or Gradle project) a selected number of libraries (jars) from mostly the /modules folder of a Payara installation is added to the class path of a project. In Payara 5.191 some of the jar names changed, mainly from javax.* to jakarta.* causing compilation errors in projects depending on these.


This has now been fixed, and the jakarta.* libraries appear in the list of libraries underneath the Payara library container:




Switch between system libraries for target Payara version, or all libraries

The Payara library container keeps an internal list of file patterns for each supported Payara version. If libraries change in newer Payara versions than the plugin supports, (native) projects may not work anymore. As a fallback, there is now a switch to put all libraries from a target Payara installation on the class path:


Open the properties:



Then select the variant: