NetBeans
Apache NetBeans is a free and open-source integrated development environment (IDE), tooling platform, and application framework designed to facilitate software development across multiple programming languages, including Java, PHP, JavaScript, HTML5, and CSS.[1] It offers editors, wizards, templates, and advanced features such as syntax and semantic highlighting, code refactoring, debugging tools, and project management capabilities to streamline the creation, building, and deployment of applications.[1] Cross-platform compatibility allows it to run on Windows, Linux, macOS, and BSD operating systems, making it accessible to developers worldwide.[1] Originally conceived as the Xelfi project by students at Charles University in Prague, Czech Republic, in 1996, NetBeans aimed to develop a Delphi-like IDE for Java.[2] Key milestones include its acquisition by Sun Microsystems in 1999, the release of NetBeans DeveloperX2 as the first IDE supporting thejavax.swing package, and its re-architecture into a modular system.[2] Sun launched netbeans.org as its inaugural open-source project in 2000, followed by innovations like the Apache Ant-based project system in NetBeans 4 (2004) and Java EE 5 support with the Matisse GUI builder in NetBeans 5 (2006).[2] After Oracle acquired Sun in 2010 and continued development, the project was donated to the Apache Software Foundation in 2016, achieving top-level project status in 2019 with the release of NetBeans 11.[2]
As of November 2025, the latest version, Apache NetBeans 28, released on November 10, 2025, includes enhanced support for Java SE 26, improvements in Gradle and Maven integration, updates to web technologies including CSS and PHP support, and various performance optimizations.[3]
History
Origins and Early Development
NetBeans originated in 1996 as a student project named Xelfi at the Faculty of Mathematics and Physics of Charles University in Prague, Czech Republic.[4] The initiative was led by Jaroslav Tulach and other students, under the guidance of the university faculty.[5] Aimed at creating a Delphi-inspired integrated development environment (IDE) for Java, the project was developed entirely in Java to provide a visual programming tool similar to Borland's Delphi but tailored for the emerging Java platform.[2] From its inception, Xelfi emphasized a modular architecture to facilitate extensibility, utilizing JavaBeans as the core building blocks for components that could be networked and reused across applications.[2] This design choice allowed for dynamic assembly of IDE features, such as editors and debuggers, through a component-based system, laying the groundwork for future plugin ecosystems.[6] The focus on modularity addressed the limitations of early Java tools by enabling developers to extend functionality without modifying the core codebase, a principle that has persisted in NetBeans' evolution.[2] The student team encountered significant challenges in transitioning Xelfi from an academic prototype to a viable commercial product, including funding, distribution, and market positioning in the nascent Java ecosystem.[7] In 1997, Czech entrepreneur Roman Staněk recognized the project's potential and facilitated its spin-off into NetBeans Inc., a Prague-based company dedicated to Java development tools.[2] To align the name with its networked JavaBeans foundation, the project was rebranded as NetBeans that same year, shifting from the playful "Xelfi" (a pun on Delphi) to emphasize its technical architecture.[2] The first public release, NetBeans Developer 1.0, occurred in October 1998 as a free tool for Java development on platforms including Solaris, Linux, Windows 98, and Windows NT. This version provided essential IDE features like code editing, project management, and debugging, marking the project's debut as an accessible resource for Java programmers beyond academic circles.Commercialization and Sun Microsystems Era
In 1997, Roman Staněk founded NetBeans, Inc., transforming the academic Xelfi project into a commercial shareware product known as the NetBeans IDE, with initial releases targeting Java developers seeking a Delphi-like environment.[7] The company, based in the Czech Republic, focused on enhancing the IDE's capabilities for professional use, including support for Java application development, and marketed it as a competitive tool in the emerging Java ecosystem.[8] This commercialization phase marked a shift from student-led innovation to a business-oriented venture, with NetBeans, Inc. producing and distributing versions through 1998 and into 1999.[9] Sun Microsystems acquired NetBeans, Inc. on October 20, 1999, integrating the IDE into its broader Java development strategy to strengthen its tools portfolio alongside the acquisition of Forte Software.[10] The purchase aimed to provide developers with a robust, Java-centric IDE that could compete in the growing market for enterprise software tools, leveraging NetBeans' modular architecture to align with Sun's Java platform initiatives.[11] Under Sun's ownership, the IDE was rebranded and enhanced for compatibility with Sun's Java runtime environments, emphasizing its role in fostering Java adoption across platforms like Linux and Solaris.[12] In June 2000, Sun open-sourced the NetBeans IDE under the Sun Public License (SPL), marking it as Sun's inaugural sponsored open-source project and launching the netbeans.org community site to encourage contributions.[2] This move facilitated broader collaboration, with the initial open-source release following shortly thereafter, and culminated in the version 3.5 release in June 2003, which introduced significant performance optimizations and stability improvements for Java development workflows.[13] During the Sun era, key milestones included the December 2004 launch of NetBeans 4.0, which debuted the integrated NetBeans Profiler for low-overhead performance analysis of Java applications.[14] Subsequent releases in the mid-2000s expanded support for Java EE technologies and web services; NetBeans 5.5, released in October 2006, introduced support for Java EE 5, including EJB 3.0, JPA, and JAX-WS for web services interoperability.[2] These enhancements continued through the decade, with NetBeans 6.9 in August 2010 achieving full compliance with Java EE 6 specifications, enabling streamlined creation of enterprise applications with features like JSF 2.0 and RESTful services.[2]Oracle Ownership and Apache Transition
In January 2010, Oracle Corporation completed its acquisition of Sun Microsystems, thereby assuming ownership of NetBeans, which had been developed under Sun since 2000.[2] Oracle continued active development of the IDE, recruiting additional developers to the team and integrating it into its broader ecosystem while maintaining its open-source status.[2] A notable early release under Oracle was NetBeans 7.0 in April 2011, which provided support for JDK 7 and introduced enhancements for JavaFX development, including tools for building rich client applications.[15] By 2016, amid shifting priorities, Oracle decided to reduce its direct involvement in certain open-source projects, leading to the donation of NetBeans to the Apache Software Foundation in October of that year.[16] The project entered the Apache Incubator in November 2016, where the community focused on establishing independent governance, code audits, and alignment with Apache's licensing and contribution models, with incubating releases including Apache NetBeans 9 (July 2018) and 10 (December 2018).[2] This transition marked a significant shift toward community-driven development, with Oracle's role diminishing to that of a contributor rather than primary steward.[17] NetBeans graduated from the Apache Incubator to a top-level project in April 2019, following the release of Apache NetBeans 11.0, which aligned closely with JDK 11 and emphasized long-term support for modern Java features.[16] Under Apache governance, the project has maintained a quarterly release cadence, with key updates including Apache NetBeans 12.0 in 2020 for improved PHP and web support, and progressive enhancements for Java EE and modular architectures evolving from the Sun era.[2] The most recent milestone, Apache NetBeans 28, released on November 10, 2025, supports JDK 25 and later versions (including early access for JDK 26), with refined integration for the Java Platform Module System (JPMS) to facilitate modular application development.[3] This era has solidified NetBeans as a stable, volunteer-led IDE, free from corporate dependencies and focused on sustainable open-source evolution.[17]NetBeans IDE Overview
Core Functionality and Architecture
NetBeans is a free, open-source integrated development environment (IDE) primarily designed for Java application development, offering extensibility to other languages through plugins.[1] It provides a comprehensive set of tools for creating, managing, and deploying software projects, with a focus on enhancing developer productivity via integrated features.[1] The core components of NetBeans include a sophisticated source code editor that supports syntactic and semantic highlighting, refactoring tools, and code completion; a debugger for stepping through code, setting breakpoints, and inspecting variables; project management capabilities through wizards and templates for organizing codebases; and a user interface framework built on Java Swing for customizable windows and toolbars.[18][19][1] These elements form the foundation for efficient development workflows. NetBeans is architected on the NetBeans Platform, a modular rich client platform (RCP) that serves as a reusable framework for Java desktop applications, allowing developers to build standalone applications beyond the IDE itself by leveraging its docking system, lookup mechanisms for loose coupling, and pluggable modules.[20] This platform enables the IDE to function as a customizable application host while supporting the creation of independent RCP-based software.[20] The IDE runs on Windows, Linux, macOS, and other operating systems supporting Java, such as BSD, requiring JDK 17 or later for execution, with the latest version, Apache NetBeans 28 released on November 10, 2025, officially supporting JDK 17, 21, and 25 as of November 2025.[1][3] The general workflow involves creating a new project using built-in templates, editing code in the integrated editor, building and compiling via Ant or Maven integration, testing with unit frameworks, and deploying applications to local or remote environments.[21][1]Modularity and Plugin System
NetBeans employs a modular architecture centered on the NetBeans Runtime Container (NBRC), which serves as the core execution environment for managing the lifecycle of modules that comprise the IDE and applications built on the NetBeans Platform.[22] The NBRC consists of a minimal set of foundational modules, including those for startup, bootstrap, filesystem APIs, and module system handling, enabling dynamic loading and dependency resolution.[22] This module system utilizes OSGi-like dependency management to ensure loose coupling between components, where modules declare dependencies on APIs or other modules, preventing circular references and allowing runtime insertion or removal of bundles.[23] Modules are self-contained units packaged as JAR files, each providing discrete functionality such as APIs for editors, windows, or file handling, with the IDE incorporating numerous built-in modules to support its core operations.[24][25] Plugins, which are essentially additional modules, can be installed through the NetBeans Plugin Portal, an official repository hosting extensions for various tools, or manually by adding JAR files via the IDE's Plugins manager.[26][27] Representative examples include plugins for Gradle build support and Docker integration, extending the IDE's capabilities without altering the core.[28][26] The modular design offers key benefits, including straightforward customization by enabling users to add or disable features, reduced application bloat through selective module loading, and the reusability of the NetBeans Platform for developing non-IDE applications, such as image editors or RSS feed browsers.[25][29] This extensibility stems from the platform's API-driven interactions, which promote independence among modules while facilitating seamless integration. The evolution of NetBeans' modularity began with basic extensibility in early versions through JavaBeans components, but transitioned to a comprehensive module system with the release of version 5.0 in 2006, which introduced robust support for IDE modules and rich client applications.[2] This shift marked a pivotal advancement, establishing the NBRC as the backbone for scalable, plugin-based development.[30]Licensing and Open-Source Model
NetBeans was initially released as open-source software by Sun Microsystems in June 2000 under the Sun Community Source License (SCSL), a proprietary source-available license that permitted limited community contributions while protecting Sun's commercial interests.[31] In October 2007, Sun transitioned NetBeans to a dual-licensing model consisting of the Common Development and Distribution License (CDDL) version 1.0 and the GNU General Public License (GPL) version 2 with the Classpath exception, which remained in effect through Oracle's ownership until 2016.[32] This arrangement allowed broader compatibility with other open-source projects while enabling commercial use under the CDDL's more permissive terms.[33] Following Oracle's donation of NetBeans to the Apache Software Foundation in 2016, the project fully adopted the Apache License 2.0 starting with the initial code drop in September 2017, marking a shift to a single, permissive license that facilitates widespread commercial adoption without copyleft requirements.[34] Under Apache governance, this licensing model supports unrestricted modification, distribution, and integration of NetBeans into proprietary software, including compatibility with proprietary plugins developed by third parties.[35] The source code for Apache NetBeans is hosted on GitHub at the apache/netbeans repository, enabling developers to access, fork, and contribute under the Apache License 2.0 terms. Binary distributions are provided through official Apache mirrors, ensuring reliable access for users worldwide without additional licensing fees. This evolution from Oracle's dual-licensing approach to full Apache commitment has enhanced NetBeans' openness and appeal to enterprise developers.[2]Supported Development Technologies
Java SE and Java EE Support
NetBeans IDE offers robust support for Java Platform, Standard Edition (Java SE) development, encompassing JDK 8 and subsequent versions. Key language features such as lambda expressions, introduced in JDK 8, are fully integrated, enabling concise functional programming constructs within the editor and debugger.[36] Support extends to the Java Platform Module System (Project Jigsaw) from JDK 9, allowing developers to create and manage modular applications with dedicated project types and module-info.java editing capabilities.[37] Additionally, records—a compact class declaration feature from JDK 14—are handled with enhanced code completion and refactoring, as improved in NetBeans 12.2 and later releases.[38] The IDE provides specialized project templates tailored to Java SE paradigms, including basic console applications for command-line tools, desktop applications leveraging Swing or AWT for graphical user interfaces, and Maven-based archetypes suitable for microservices development.[39] Core editing tools, including refactoring operations like extract method and rename, intelligent code completion with semantic awareness, and annotation processing for compile-time enhancements, are optimized for Java syntax to streamline development workflows.[18] For the Jakarta Platform, Enterprise Edition (Jakarta EE), NetBeans delivers comprehensive tooling for building scalable applications, with native support for Enterprise JavaBeans (EJB) for business logic, Java Persistence API (JPA) for object-relational mapping, JavaServer Faces (JSF) for web user interfaces, and Contexts and Dependency Injection (CDI) for dependency management.[40] Server integration facilitates seamless deployment and hot-reloading with compatible runtimes, including GlassFish for full Jakarta EE profiles, Apache Tomcat for web applications, and Payara as an open-source alternative to GlassFish.[41] Jakarta EE project templates encompass enterprise applications, web applications, and EJB modules, enabling rapid setup of multi-tier architectures.[42] In Apache NetBeans 28 (released November 10, 2025), enhancements include improved compatibility with JDK 25, alongside support for JDK 21+ elements like virtual threads for lightweight concurrency and pattern matching for more expressive type checks and switches, with refinements to refactoring and code completion for these constructs.[3][43]Web, Mobile, and Scripting Languages
NetBeans IDE provides comprehensive editing tools for web technologies, including dedicated support for HTML5, CSS, and XML. The HTML5 editor features syntax highlighting, code completion, and live previews to streamline the development of responsive web applications. CSS editing includes rule auto-completion, validation against standards, and integration with HTML5 projects for real-time style adjustments. XML support encompasses schema validation, tag auto-completion, and error highlighting to ensure well-formed documents and compliance with specifications like XHTML.[44][45][46] For PHP development, NetBeans offers a specialized PHP distribution bundle that includes tools for scripting and web application building. This bundle supports code completion, refactoring, and integrated debugging via XDebug, enabling step-through execution and variable inspection.[47][48] The JavaScript editor in NetBeans delivers advanced assistance for client-side scripting, with features such as syntax highlighting, code folding, and support for Node.js runtime execution within projects. It incorporates Emmet abbreviations for efficient HTML and CSS generation from shorthand syntax and parses JSDoc comments to generate documentation tooltips and outlines. For mobile development, NetBeans supplies HTML5 project templates optimized for responsive design, along with integration for PhoneGap (now Apache Cordova) to package web code into native Android and iOS apps via command-line tools embedded in the IDE.[49][50][44] Support for additional scripting languages is available through modular plugins. The official C/C++ plugin enables full-featured development, including project templates, build configuration with Make or CMake, and debugging with GDB. Groovy scripting benefits from a dedicated plugin that provides syntax highlighting, code completion, and integration with the Groovy compiler for dynamic script execution. Native Android and iOS development remains limited, relying on third-party extensions like Codename One for cross-platform HTML5/Java-based mobile apps, while recommending specialized IDEs for full native toolchain integration.[51][52]Integration with Build Tools and Version Control
NetBeans IDE provides native support for Apache Ant and Apache Maven as primary build tools, enabling seamless project creation, dependency management, and execution directly within the IDE. For Ant-based projects, NetBeans includes built-in project wizards that generate standard Ant build scripts, allowing developers to configure custom tasks for compilation, packaging, and deployment without external tools.[53] Maven integration is equally robust, treating Maven projects similarly to Ant ones by offering wizards for multi-module setups, automatic dependency resolution from repositories like Maven Central, and one-click execution of lifecycle phases such as clean, compile, test, and deploy. This support extends to editing pom.xml files with intelligent completion and validation, ensuring efficient management of transitive dependencies and build configurations across Java SE and EE applications.[53] Since Apache NetBeans 11, Gradle support has been available through a dedicated plugin, which can be installed via the IDE's plugin manager to open and build Gradle-based projects. The plugin facilitates task navigation, dependency visualization, and execution of Gradle builds, including support for Java, Groovy, and multi-project structures, with recent enhancements in Apache NetBeans 28 addressing compatibility with Gradle 9 for improved performance and error handling.[54][3][43] NetBeans offers out-of-the-box integration with several version control systems, including Git, Subversion (SVN), and Mercurial, allowing developers to clone repositories, commit changes, and manage branches without leaving the IDE. Git support enables full workflow operations such as staging, diff viewing, merging conflicts, and push/pull to remote repositories like GitHub, with visual tools for history browsing and blame annotations.[55] SVN integration provides repository checkout, update, commit, and revision history management, including support for locking files and handling external definitions for shared development.[56] Mercurial features similarly include clone, commit, push, and pull operations, with built-in tools for synchronizing changesets and resolving merges in distributed environments.[57] Legacy support for CVS remains available through a plugin, catering to older projects with basic operations like checkout, update, and commit, though it is recommended to migrate to modern systems like Git due to CVS's deprecated status. Team collaboration is enhanced across all supported systems with features such as three-way diff viewers for conflict resolution, inline annotations for changes, and ignore file configurations to streamline workflows.[58] For continuous integration, NetBeans includes previews and monitoring capabilities for Jenkins (formerly Hudson) via the Services tab, allowing users to connect to CI servers, view build statuses, and trigger jobs directly from the IDE interface.[59] This integration supports real-time notifications for build failures and test results, facilitating quicker feedback loops in team-based development.[60]Key Integrated Tools
Profiler and Performance Analysis
The NetBeans Profiler is an integrated tool within the Apache NetBeans IDE designed to monitor and optimize the runtime performance of Java applications, enabling developers to identify bottlenecks in CPU usage, memory allocation, and thread execution. It employs low-overhead sampling techniques to collect data without significantly impacting application speed, making it suitable for production-like environments. This approach involves periodic sampling of the application's state rather than continuous instrumentation, allowing for efficient analysis of method invocation times, object allocations, and thread states.[61][62] Key features include comprehensive heap dump analysis, which captures the Java heap at specific points to reveal memory leaks, retained objects, and allocation patterns; dumps are saved in .hprof format and can be queried using Object Query Language (OQL) for targeted inspections. The profiler also detects lock contention through a dedicated "Locks" mode, displaying details on contended monitors, thread ownership, wait times, and synchronization hotspots to diagnose concurrency issues. For deeper insights, it supports bytecode instrumentation, where developers can selectively instrument classes or methods in advanced modes to track precise execution paths and object lifecycles in Java applications.[63][64] Integration with JVisualVM enhances the profiler's capabilities, as both tools share a common underlying engine derived from the NetBeans platform, allowing seamless transitions between IDE-based and standalone profiling sessions. Remote profiling is facilitated via the Profiler Remote Pack, which enables attachment to JVMs on distant servers; this requires installing the agent on the target machine and configuring connection settings in the IDE for secure, low-latency data collection over networks.[65][66] In practice, users initiate profiling by right-clicking a project and selecting "Profile" or attaching to an existing JVM process through the IDE's toolbar. Calibration data must be gathered once per Java platform via the profiler's advanced commands to optimize sampling accuracy. Sessions generate detailed reports, such as timelines of garbage collection activity showing percentages of time spent in GC phases and surviving generations, helping pinpoint inefficiencies like frequent full collections or excessive pause times. Snapshots can be compared across runs to quantify improvements, with telemetry views providing real-time graphs of heap usage, loaded classes, and thread counts.[61][63]GUI Builders and Visual Designers
NetBeans provides robust visual tools for developing graphical user interfaces, primarily through its GUI Builder for desktop applications and integrated support for web-based designs. The GUI Builder, formerly known as Matisse, enables developers to create Swing and AWT-based interfaces using a drag-and-drop interface for component placement, such as buttons, panels, and labels, without requiring deep knowledge of layout managers like GroupLayout. Property editing is facilitated via an intuitive Properties window, allowing real-time customization of attributes like text, fonts, borders, and event handlers directly in the visual design view.[67] The form editor within the GUI Builder automatically generates Java source code for the designed interface, encapsulating layout and initialization logic in guarded blocks to prevent manual overrides from being overwritten during redesigns. Developers can utilize multiple preview modes to test the GUI's appearance and behavior across different look-and-feels and screen resolutions before compilation. Internationalization support is built-in, with dynamic adjustments for locales, including automatic handling of text bundles and component resizing to accommodate varying string lengths.[67] For modern desktop applications, NetBeans integrates with JavaFX Scene Builder starting from version 7.3 in 2012, allowing seamless editing of FXML files directly from the IDE. Users can configure the Scene Builder path in the Options dialog and right-click FXML documents to open them in the external tool for drag-and-drop scene design, with changes synchronizing back to NetBeans projects for controller integration. This workflow supports the creation of rich, CSS-styled JavaFX interfaces while leveraging Java SE's foundational libraries for Swing and JavaFX components.[68] In the PHP and Java EE bundles, NetBeans offers basic visual editing capabilities for web GUIs, including a palette for inserting HTML elements and CSS styles into JSP or PHP files, alongside live previews for layout validation. These tools focus on code-assisted design rather than full WYSIWYG editing, aiding in the rapid prototyping of responsive web pages with integrated syntax highlighting and auto-completion for HTML and CSS.[21] While powerful for Java desktop development, the GUI tools have limitations in advanced web scenarios, such as lacking comprehensive drag-and-drop for complex JavaScript frameworks, directing users toward code-centric workflows for dynamic content. Updates in recent versions, including Apache NetBeans 28 released in November 2025, maintain compatibility with evolving JDK features but do not introduce major overhauls to these visual designers.[3]Specialized Editors for JavaScript and CSS
The NetBeans JavaScript editor provides advanced text-based editing capabilities tailored for web development, including syntax highlighting to distinguish code elements such as variables, functions, and keywords, as well as code folding for methods to manage large scripts efficiently.[49] It supports semantic highlighting to identify variable scopes and types, mark occurrences to highlight usages of identifiers across files, and instant renaming for quick refactoring of variable or function names.[49] Additionally, the editor offers code completion with type information drawn from the background parser, quick fixes for common errors like undeclared variables, and semantic checks to detect issues such as unused imports or type mismatches.[49] Navigation is facilitated through a dedicated navigator panel that displays the file's structural outline, enabling easy jumping to functions or classes.[49] Debugging capabilities in the JavaScript editor integrate with modern browsers' developer tools, allowing breakpoints, step-through execution, and variable inspection directly from the IDE during runtime in an HTML5 application. This setup enables seamless testing of client-side code, including support for unit tests using frameworks like Jasmine and Karma, where test results are displayed in the IDE's output window.[69] The CSS editor complements JavaScript editing by offering previews of style rules applied to HTML elements, auto-completion for selectors, properties, and values based on CSS standards, and tools for adding or modifying rules to adjust layouts dynamically.[45] It includes support for CSS preprocessors such as Sass and LESS, which can be configured to compile on save, generating standard CSS files while providing syntax highlighting and error detection for preprocessor-specific constructs like variables and mixins.[45] Both editors share features like code folding for collapsible sections, error hints via inline annotations for syntax or semantic issues, and tight integration with the HTML editor to form a cohesive environment for full-stack web development, where changes in JavaScript or CSS update previews in real-time within the IDE.[44] These tools are prominently available in the standard NetBeans distribution, with enhanced prominence in configurations supporting web and enterprise editions through modular plugins, as well as the PHP edition for hybrid projects involving scripting languages.[1]Distribution and Bundles
Standard Download Options
The standard download options for Apache NetBeans IDE are available from the official Apache mirrors, providing binary distributions in ZIP format that are platform-independent, as well as community-provided installers for Windows, macOS, and Linux to facilitate easier setup.[47][70] These downloads are enabled under the Apache License 2.0, allowing free access for both personal and commercial use, as detailed in the project's licensing model.[1] The latest stable release, Apache NetBeans 28, was made available on November 10, 2025, with installer packages approximately 588 MB in size, including options that bundle a compatible JDK such as Java 25 for a self-contained installation experience.[3][71] These bundles support deployment on Windows, macOS, and Linux, though Windows on ARM architecture has limited compatibility.[3] NetBeans requires a JDK version 17 or later to run, with JDK 25, 21, or 17 explicitly supported; the installer includes auto-detection of existing JDK installations on the system, prompting users to select or download one if needed.[3] Once installed, updates for patches and minor releases are managed through the built-in Plugin Manager, accessible via Tools > Plugins, which checks for available updates from official repositories and applies them seamlessly.[72] For legacy support, an archive of older versions is maintained on the Apache NetBeans site, including releases such as 12.6 from 2020, which can be downloaded in similar ZIP or installer formats for projects requiring specific historical compatibility.[73]Specialized Bundles for Java EE and PHP
NetBeans provides specialized bundles tailored for enterprise Java development and PHP web scripting, pre-configuring essential tools and servers to streamline workflows in these domains. The Java EE bundle incorporates the GlassFish application server for deploying Jakarta EE applications, along with integrated support for Java EE APIs, JavaServer Faces (JSF) for building user interfaces, and Contexts and Dependency Injection (CDI) for managing dependencies and lifecycles.[74][75] This configuration enables developers to create, debug, and deploy enterprise-level web applications without initial setup of external servers or libraries, with the bundle approximating 600 MB in size based on typical distribution archives.[76] The PHP bundle emphasizes web scripting capabilities, featuring integration with the Zend Debugger for step-through debugging and Xdebug support for advanced profiling and breakpoint management.[77][48] It also includes project templates optimized for popular frameworks such as Symfony for modular application structure and Laravel for rapid API and MVC development, facilitating quick scaffolding of PHP-based web projects.[78][79] Unlike the base NetBeans installation, which requires manual plugin activation, these bundles come with pre-installed modules for domain-specific features, reducing configuration time and enabling immediate productivity in Java EE or PHP environments.[80] In Apache NetBeans 28, released on November 10, 2025, these bundles are distributed with an embedded JDK 25 runtime for self-contained operation and incorporate preview optimizations for cloud deployments, such as integration with Oracle Cloud for seamless application publishing.[3][70][81] Users select the appropriate bundle during the download from the official Apache mirrors, and post-installation customization or switching between bundles is achievable through the integrated plugin manager under Tools > Plugins.[47]Installation and Platform Compatibility
NetBeans IDE provides installers tailored to major operating systems, including a self-extracting executable (.exe) for Windows, a disk image (.dmg) package for macOS, and Debian (.deb) or Red Hat Package Manager (.rpm) formats for Linux distributions.[3][82] These installers, often bundled with a compatible JDK by community contributors, ensure a straightforward setup process across platforms.[3] Installation typically begins by downloading the appropriate installer from the official Apache NetBeans site and running it with administrative privileges. During the process, users must select or verify the JDK path if not pre-included, ensuring compatibility with supported versions such as JDK 17, 21, 25. The installer also allows configuration of the user directory, defaulting to ~/.netbeans on Unix-like systems (including macOS and Linux) or %APPDATA%\NetBeans on Windows, where configuration files, caches, and plugins are stored.[3][83][84] NetBeans offers full compatibility on x86_64 architectures for Windows, macOS, and Linux, supporting all major desktop environments that run Java. Partial support exists for ARM-based systems, with native compatibility on Apple Silicon Macs since version 19, while Windows ARM remains unsupported officially, and Linux ARM relies on community-compiled builds as of 2025.[3][85] Common troubleshooting issues include JDK version mismatches, where the installer fails if the selected JDK does not meet minimum requirements, resolvable by installing a supported JDK and specifying its path explicitly. Firewall blocks may prevent plugin downloads or updates during setup, requiring users to allow Java through the firewall or temporarily disable it.[86][87] After installation, NetBeans launches a first-run wizard that guides users through initial configuration, including selection of additional plugins via the Plugin Manager and setup of themes under Tools > Options > Appearance for customizing the user interface. Bundles for specific languages like Java EE or PHP can be chosen or added during this phase if not pre-selected in the installer.[3]Community and Localization
Internationalization Features
NetBeans IDE supports localization of its user interface through resource bundles, enabling the display of menus, dialogs, and other elements in multiple languages to accommodate global developers. This is achieved by setting Java system properties such as-Duser.language and -Duser.country via command-line arguments or the IDE's configuration file, allowing users to switch languages without reinstalling the IDE. Known supported languages include English, Japanese, Simplified Chinese, and Brazilian Portuguese, with additional community-contributed localizations available for others like French.[88][89]
For right-to-left (RTL) languages such as Arabic and Hebrew, the NetBeans Platform provides built-in support for component orientation, which reverses the layout of UI elements to align with RTL reading conventions. Developers can enable this by creating a custom ComponentOrientation support class and applying it to the main window and individual components, ensuring proper text rendering and navigation. While not directly configurable via a dedicated IDE option, RTL handling integrates with the general appearance settings in the Options dialog under the General tab, where users can adjust font and display preferences to better support bidirectional text.[90]
In terms of development tools, NetBeans facilitates internationalization (i18n) for Java applications by leveraging the ResourceBundle API, which stores translatable strings in property files for locale-specific loading. The IDE includes specialized editors for these .properties files, offering syntax highlighting, key-value pair management, and validation to prevent common errors like missing keys or encoding issues. For GUI applications built with the IDE's Form Editor, automatic i18n tools extract hard-coded strings into resource bundles, generate locale variants, and provide previews in selected languages to verify layout and text flow without rebuilding the project. These features streamline the process of creating multilingual applications compliant with Java's locale handling standards.[91]
Localization efforts for the IDE itself are community-driven, coordinated through the Apache NetBeans project's translatedfiles repository and dedicated mailing lists, where volunteers submit and review translation updates using tools like OmegaT for consistency. Post-Apache incubation in 2016, these efforts have focused on maintaining and expanding bundles for broader language coverage. UTF-8 handling for property files and source code is robustly supported across versions, with configurable project encodings to ensure proper display and editing of international characters.[92][93]