The Apache NetBeans team has just released NetBeans 31, the most recent version of the open-source, cross-platform IDE, with a number of improvements in Java development, Maven and Gradle integration, PHP tooling, JavaFX, enterprise features, and the underlying platform.
Java developers will find one of the most useful features is support for setting breakpoints in lambda expressions, since this makes it easier to debug code that makes heavy use of lambdas.
Code completion has been improved too, with NetBeans 31 now supporting import module during completion and improving how module names are handled in the IDE’s implementation of the Language Server Protocol. Furthermore, Java completion could be configured so that selecting a method no longer automatically inserts its parameters.
The Java editor has also been given a number of formatting improvements, for example improved handling of empty records and nested lambdas, alternative options for positioning braces with records, and settings for case wrapping in switch expressions. Plus, the embedded version of Apache Tomcat has likewise been upgraded from 9.0.113 to 9.0.120.
On the build-tool integration side, NetBeans 31 comes with Maven 3.9.16, and the bundled exec-maven-plugin has been upgraded from version 3.5.1 to 3.6.3. Additionally, the IDE now includes a global preference that allows a custom user settings.xml file to be specified for Maven projects.
Moreover, the Maven compile panel has been corrected so that it respects Maven’s default JDK, and the compact forms of the -T and --threads= options are recognized properly. With regard to Gradle, NetBeans 31 has upgraded the Gradle Tooling to version 9.6.1, and project scanning now accounts for global root settings.
Several minor improvements have been made to PHP tools. NetBeans 31 extends its current PHP 8.4 support by adding property hooks; it also adds support for variadic-marked variables in PHPDoc and rectifies several issues with generated return types and constructor overrides.
Enterprise Java users also receive a set of fixes for CDI and the Expression Language along with performance improvements. GlassFish integration can now show the range of supported JDKs when no compatible JDK is available, and the detection of GlassFish 8.x installations has been enhanced.
On Unix-like systems, the NetBeans launcher has been fixed for cases where shell arguments contain quotes or similar characters, which could previously prevent the IDE from starting. On macOS, the platform launcher now respects the JAVA_HOME environment variable.
Finally, several bundled components have also been refreshed, including JNA 5.19.1, FlatLaf 3.7.2, and ASM 9.10.
For additional details, see the changelog. Apache NetBeans 31 is now available for download from the project website.
