Recent from talks
Contribute something
Nothing was collected or created yet.
NetBeans
View on Wikipedia
| NetBeans IDE | |
|---|---|
Screenshot Apache NetBeans 12.2 in Arch Linux | |
| Original author | Roman Staněk |
| Developers | |
| Stable release | 27[1] |
| Repository | github |
| Written in | Java |
| Operating system | Windows, macOS, Linux, Solaris; feature-limited OS independent version available |
| Platform | Java SE, Java EE, JavaFX |
| Available in | 28 languages |
List of languages see § Localization | |
| Type | IDE |
| License | Apache License 2.0 (previously CDDL or GPLv2 with classpath exception)[2] |
| Website | netbeans |
NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called modules. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML5,[3] and JavaScript. Applications based on NetBeans, including the NetBeans IDE, can be extended by third party developers.[4]
History
[edit]
NetBeans began in 1996 as Xelfi (word play on Delphi),[5][6] a Java IDE student project under the guidance of the Faculty of Engineering and Technology at Charles University in Prague. In 1997, Roman Staněk formed a company around the project and produced commercial versions of the NetBeans IDE until it was bought by Sun Microsystems in 1999. Sun open-sourced the NetBeans IDE in June of the following year. Since then, the NetBeans community has continued to grow.[7] In 2010, Sun (and thus NetBeans) was acquired by Oracle Corporation. Under Oracle, NetBeans had to find some synergy with JDeveloper, a freeware IDE that has historically been a product of the company, by 2012 both IDEs were rebuilt around a shared codebase - the NetBeans Platform. In September 2016, Oracle submitted a proposal to donate the NetBeans project to The Apache Software Foundation, stating that it was "opening up the NetBeans governance model to give NetBeans constituents a greater voice in the project's direction and future success through the upcoming release of Java 9 and NetBeans 9 and beyond". The move was endorsed by Java creator James Gosling.[8] The project entered the Apache Incubator in October 2016[9] and graduated as Apache Software Foundation top level project in 2019. The first available version as Apache top level project was with Apache NetBeans 11.3.
NetBeans IDE
[edit]NetBeans IDE is an open-source integrated development environment. NetBeans IDE supports development of all Java application types (Java SE (including JavaFX), Java ME, web, EJB and mobile applications) out of the box. Among other features are an Ant-based project system, Maven support, refactorings, version control (supporting CVS, Subversion, Git, Mercurial and Clearcase).
Modularity
[edit]All the functions of the IDE are provided by modules. Each module provides a well-defined function, such as support for the Java language, editing, or support for the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based on the NetBeans IDE.
License
[edit]NetBeans IDE is licensed under the Apache License 2.0. Previously, from July 2006 through 2007, it was licensed under Sun's Common Development and Distribution License (CDDL), a license based on the Mozilla Public License (MPL). In October 2007, Sun announced that NetBeans would henceforth be offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL linking exception for GNU Classpath.[10] Oracle has donated NetBeans Platform and IDE to the Apache Foundation where it underwent incubation and graduated as a top level project in April 2019.[11]
Other products
[edit]In an October 2016 interview with Gabriela Motroc, Oracle Vice President Bill Pataky stated that Oracle has a number of products that depend on NetBeans.[12]
- Oracle Developer Studio, a commercial C, C++, Fortran and Java development environment is 100% based on NetBeans[12]
- Oracle JDeveloper, an end-to-end development for Oracle's technology stack takes major subsystems from NetBeans[12]
- Oracle JavaScript Extension Toolkit, a modular, open source toolkit based on modern JavaScript, CSS3 and HTML5 design and development principles uses NetBeans as its preferred IDE[12]

Integrated modules
[edit]These modules are part of the NetBeans IDE:
NetBeans Profiler
[edit]The NetBeans Profiler[13] is a tool for the monitoring of Java applications: It helps developers find memory leaks and optimize speed. Formerly downloaded separately, it is integrated into the core IDE since version 6.0. The Profiler is based on a Sun Laboratories research project that was named JFluid. That research uncovered specific techniques that can be used to lower the overhead of profiling a Java application. One of those techniques is dynamic bytecode instrumentation, which is particularly useful for profiling large Java applications. Using dynamic bytecode instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime information on applications that are too large or complex for other profilers. NetBeans also support Profiling Points that let developers profile precise points of execution and measure execution time.
GUI design tool
[edit]
Formerly known as project Matisse, the GUI design-tool enables developers to prototype and design Swing GUIs by dragging and positioning GUI components.[14]
The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the support for JSR 296 (Swing Application Framework) was removed in 7.1.
NetBeans JavaScript editor
[edit]The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and CSS.[15][16]
JavaScript editor features comprise syntax highlighting, refactoring, code completion for native objects and functions, generation of JavaScript class skeletons, generation of Ajax callbacks from a template; and automatic browser compatibility checks.
CSS editor features comprise code completion for styles names, quick navigation through the navigator panel, displaying the CSS rule declaration in a List View and file structure in a Tree View, sorting the outline view by name, type or declaration order (List & Tree), creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).
The NetBeans 7.4 and later uses the new Nashorn JavaScript engine developed by Oracle.
NetBeans IDE download bundles
[edit]Users can choose to download NetBeans IDE bundles tailored to specific development needs. Users can also download and install all other features at a later date directly through the NetBeans IDE.
NetBeans IDE Bundle for Web and Java EE
[edit]The NetBeans IDE Bundle for Web & Java EE[17] provides complete tools for all the latest Java EE 6 standards, including the new Java EE 6 Web Profile, Enterprise Java Beans (EJBs), servlets, Java Persistence API, web services, and annotations. NetBeans also supports the JSF 2.0 (Facelets), JavaServer Pages (JSP), Hibernate, Spring, and Struts frameworks, and the Java EE 5 and J2EE 1.4 platforms. It includes GlassFish and Apache Tomcat.
Some of its features with Java EE include:
- Improved support for CDI, REST services and Java Persistence
- New support for Bean Validation
- Support for JSF component libraries, including bundled PrimeFaces library
- Improved editing for Expression Language in JSF, including code completion, refactoring and hints
NetBeans IDE Bundle for PHP
[edit]NetBeans supports PHP since version 5.6. The bundle for PHP includes:
- syntax highlighting, code completion, occurrence highlighting, error highlighting, CVS version control
- semantic analysis with highlighting of parameters and unused local variables
- PHP code debugging with xdebug
- PHP Unit testing with PHPUnit and Selenium
- Code coverage
- Symfony framework support (since version 6.8)
- Zend Framework support (since version 6.9)
- Yii Framework support (since version 7.3)
- PHP 5.3 namespace and closure support (since version 6.8)
- Code Folding for Control Structures (since version 7.2 dev)[18]
NetBeans IDE Complete Bundle
[edit]Oracle also releases a version of NetBeans that includes all of the features of the above bundles. This bundle includes:
- NetBeans Base IDE
- Java SE, JavaFX
- Web and Java EE
- Java ME
- C/C++
- PHP (Version 5.5 and later)
- asd
- Apache Groovy
- GlassFish
- Apache Tomcat
Official Ruby support was removed with the release of 7.0.
Localization
[edit]NetBeans IDE is translated into the following languages:
- Brazilian Portuguese (BR), as of 5.5
- Japanese (JP), as of 3.4
- Simplified Chinese (ZH-CN)
Community translations of the IDE are also available in the following languages:
| Language | Platform | Java SE (IDE) |
All |
|---|---|---|---|
| Afrikaans | As of 6.9 | No | No |
| Albanian | As of 5.5 | No | No |
| Azerbaijani | No | No | No |
| Catalan | As of 6.7.1 | As of 6.7.1 | As of 6.9.1[20] |
| Czech | As of 6.0 | No | No |
| Dutch | Yes | Yes | No |
| Filipino | As of 6.9 | No | No |
| French | Yes | Yes | No |
| Galician | Yes | Yes | As of 6.8 |
| German | As of 5.5 | As of 5.5[21] | No |
| Greek | As of 6.9 | No | No |
| Hindi | As of 6.9 | No | No |
| Indonesian | As of 5.5 | No | No |
| Italian | Yes | Yes | No |
| Korean | As of 5.0 | As of 5.0[22] | No |
| Lithuanian | As of 6.9 | No | No |
| Romanian | As of 6.8 | No | No |
| Russian | As of 5.0 | As of 6.9.1 | |
| Serbian | As of 6.9 | No | No |
| Spanish | As of 5.5 | As of 5.5 | No |
| Swedish | Yes | Yes | No |
| Traditional Chinese | Yes | Yes | No |
| Turkish | Yes | Yes | No |
| Vietnamese | As of 6.9 | No | No |
See also
[edit]References
[edit]- ^ "Apache NetBeans 27". August 22, 2025. Retrieved August 26, 2025.
- ^ "NetBeans IDE Dual License Header and License Notice". Netbeans.org. April 1, 1989. Archived from the original on November 2, 2019. Retrieved 2013-07-18.
- ^ "HTML5 Web Development Support". netbeans.org. Archived from the original on December 24, 2016. Retrieved August 2, 2017.
- ^ "NetBeans MOVED". platform.netbeans.org. Archived from the original on May 15, 2020. Retrieved August 2, 2017.
- ^ "original Xelfi homepage". Archived from the original on April 24, 2012. Retrieved May 17, 2008.
- ^ "Happy Birthday NetBeans - interview with Jaroslav "Yarda" Tulach". Netbeans.org. Archived from the original on May 17, 2008. Retrieved May 17, 2008.
- ^ "A Brief History of NetBeans IDE". Netbeans.org. Archived from the original on August 31, 2013. Retrieved May 17, 2008.
- ^ "Java founder James Gosling endorses Apache takeover of NetBeans Java IDE". InfoWorld. September 13, 2016. Retrieved September 19, 2016.
- ^ "NetBeans Incubation Status". Retrieved August 4, 2017.
- ^ "Why GPL v2 Frequently Asked Questions". netbeans.org. Archived from the original on February 11, 2019. Retrieved August 2, 2017.
- ^ "The Apache Software Foundation Announces Apache NetBeans as a Top-Level Project". blogs.apache.org. April 24, 2019. Retrieved July 12, 2019.
- ^ a b c d Motroc, Gabriela (October 5, 2016). "Oracle developers will be involved in at least two Apache NetBeans releases". Jaxenter. Retrieved 2016-10-07.
- ^ "Profiler". Netbeans.org. Archived from the original on August 5, 2008. Retrieved May 17, 2008.
- ^ "Swing GUI Builder (formerly Project Matisse)". Netbeans.org. Archived from the original on July 29, 2013. Retrieved May 17, 2008.
- ^ "Javascript". Netbeans wiki. March 31, 2007. Archived from the original on April 10, 2008. Retrieved 2008-04-19.
- ^ "Java Web Applications". Netbeans.org. Archived from the original on October 18, 2012. Retrieved April 19, 2008.
- ^ "Web & Java EE". Netbeans.org. Archived from the original on May 9, 2008. Retrieved May 18, 2008.
- ^ "Netbeans Bugzilla - Bug 186731". Retrieved May 23, 2012.
- ^ "TFL10nCommunityStatus - NetBeans Wiki". Wiki.netbeans.org. Archived from the original on August 13, 2010. Retrieved July 18, 2013.
- ^ "Catalan localization group at OpenSolaris". Archived from the original on July 16, 2011. Retrieved August 2, 2017.
- ^ "NetBeans.org Community News: Go Multilingual with NetBeans IDE 5.5.1!". Archived from the original on November 18, 2016. Retrieved August 2, 2017.
- ^ "NetBeans Community News". netbeans.org. Archived from the original on August 4, 2020. Retrieved August 2, 2017.
Further reading
[edit]- Boudreau, Tim; Glick, Jesse; Greene, Simeon; Woehr, Jack; Spurlin, Vaughn (October 15, 2002). NetBeans: The Definitive Guide (First ed.). O'Reilly Media. p. 672. ISBN 0-596-00280-7.
- Heffelfinger, David (October 31, 2008). Java EE 5 Development with NetBeans 6 (First ed.). Packt Publishing. p. 400. ISBN 978-1-84719-546-3. Archived from the original on August 2, 2014. Retrieved April 29, 2009.
- Myatt, Adam (February 21, 2008). Pro Netbeans IDE 6 Rich Client Platform Edition (First ed.). Apress. p. 491. ISBN 978-1-59059-895-5. Archived from the original on January 12, 2011. Retrieved April 29, 2009.
- Keegan, Patrick; Champenois, Ludovic; Crawley, Gregory; Hunt, Charlie; Webster, Christopher (May 9, 2006). NetBeans IDE Field Guide: Developing Desktop, Web, Enterprise, and Mobile Applications (Second ed.). Prentice Hall. p. 424. ISBN 978-0-13-239552-6.
- Böck, Heiko (July 1, 2009). The Definitive Guide to NetBeans Platform (First ed.). Apress. p. 450. ISBN 978-1-4302-2417-4. Archived from the original on April 2, 2012. Retrieved November 18, 2010.
- Petri, Jürgen (August 11, 2010). NetBeans Platform 6.9 Developer's Guide (First ed.). Packt Publishing. p. 288. ISBN 978-1-84951-176-6. Archived from the original on January 30, 2010. Retrieved August 17, 2010.
- Böck, Heiko (December 28, 2011). The Definitive Guide to NetBeans Platform 7 (First ed.). Apress. p. 592. ISBN 978-1-4302-4101-0. Archived from the original on March 13, 2016. Retrieved January 19, 2012.
- Wexbridge, Jason; Nyland, Walter (March 25, 2014). NetBeans Platform for Beginners (Second ed.). Leanpub. p. 361.
External links
[edit]
Media related to NetBeans at Wikimedia Commons- Official website

NetBeans
View on Grokipediajavax.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]
Development Community and Contributions
Since its transition to an Apache project in 2016, the NetBeans development community has operated under the Apache Software Foundation's meritocratic governance model, facilitated by its Project Management Committee (PMC) comprising 65 members who guide strategic decisions, releases, and community growth.[94] The PMC oversees contributions from 82 active committers, who handle code integration and day-to-day development.[94] Primary communication channels include dedicated mailing lists, with [email protected] serving as the hub for technical discussions, promotions, and documentation efforts among developers.[95] Issue tracking and collaboration have shifted to GitHub, where the community reports, validates, and resolves bugs through the project's repository. Contributions to Apache NetBeans follow established open-source paths, emphasizing code quality and alignment with project goals. Developers submit changes via GitHub pull requests, adhering to bootstrapping, branching, and squashing guidelines outlined in the official documentation to streamline reviews and integration.[96] Plugin development is supported through comprehensive guides on extending the IDE's core, allowing contributors to add specialized tools for languages, frameworks, or workflows without altering the base codebase.[97] The community also engages in validation programs like NetCAT (NetBeans Community Acceptance Testing), where volunteers test releases and report usability issues to ensure robustness before deployment. Post-2016, the NetBeans community has experienced steady growth, evolving from an initial core of around 50 contributors under Oracle to over 80 active committers by 2025, reflecting increased participation from global developers drawn to its modular platform.[2][94] This expansion has enabled a focus on modern Java features, with community efforts prioritizing support for Java 21 and subsequent versions, including pattern matching, virtual threads, and enhanced module system integration in recent IDE updates.[98] As of November 2025, Apache NetBeans version 28, released on November 10, 2025, exemplifies community-driven progress, incorporating fixes and enhancements from contributors to improve code editing efficiency, language support, and compatibility with recent JDK versions, including Java SE 26.[99] Security improvements, including vulnerability scans and secure coding practices, have also been bolstered through pull requests targeting plugin stability and dependency management.[98] The community maintains momentum via events like Apache NetBeans Days, which facilitate hands-on collaboration and align with broader ApacheCon initiatives for cross-project synergies.[100]References
- http://wiki.apidesign.org/wiki/User:JaroslavTulach
- http://wiki.apidesign.org/wiki/Xelfi
- http://wiki.apidesign.org/wiki/NetBeans
- http://wiki.apidesign.org/wiki/SunBuysNetBeans