„NetBeans IDE“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
(709 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden) | |||
Zeile 1: | Zeile 1: | ||
{{Infobox Software |
|||
{{Infobox_Software| |
|||
|Name = Apache NetBeans |
|||
|Logo = [[Datei:Apache NetBeans Logo.svg|64px]] |
|||
|Screenshot= [[Bild:NetBeans41.jpg|250px]] |
|||
|Screenshot = [[Datei:Apache NetBeans 11 Linux.png|250px]] |
|||
|Beschreibung= NetBeans 4.1 Screenshot |
|||
|Beschreibung = Apache NetBeans IDE 11.0 |
|||
|Hersteller= [[Sun Microsystems]] |
|||
|Maintainer = |
|||
|AktuelleVersion= 4.1 |
|||
|Hersteller = [[Apache Software Foundation]], [[Oracle Corporation]] |
|||
|AktuelleVersionFreigabeDatum= [[11. Mai]] [[2005]] |
|||
|Erscheinungsjahr = <!--von Wikidata--> |
|||
|Betriebssystem= [[Java Virtual Machine|Java VM]] |
|||
|AktuelleVersion = <!--von Wikidata--> |
|||
|Kategorie= [[Integrierte Entwicklungsumgebung|IDE]] |
|||
|AktuelleVersionFreigabeDatum = <!--von Wikidata--> |
|||
|Lizenz= [[Sun Public License]] |
|||
|AktuelleVorabVersion = |
|||
|Deutsch= nein |
|||
|Programmiersprache = [[Java (Programmiersprache)|Java]] |
|||
|Website= [http://www.netbeans.org/ www.netbeans.org] |
|||
|AktuelleVorabVersionFreigabeDatum = |
|||
|Betriebssystem = [[Plattformunabhängigkeit|plattformunabhängig]] |
|||
|Kategorie = [[Integrierte Entwicklungsumgebung|IDE]] |
|||
|Lizenz = [[Apache-Lizenz|Apache 2.0 Lizenz]], Bis Version 8.2: [[CDDL]], [[GNU General Public License|GPL]] (v2 with Classpath Exception, ab Version 6.0)<ref name="GPL CDDL">{{Webarchiv|url=http://www.netbeans.org/about/legal/license-change.html |wayback=20070224082827 |text=„Dual Licensing NetBeans IDE 6.0 under the CDDL and GPLv2 with Claspath Exception“ |archiv-bot=2022-12-20 16:37:31 InternetArchiveBot }}</ref> |
|||
|Deutsch = nein |
|||
|Website = [https://netbeans.apache.org/ netbeans.apache.org] |
|||
|Dateien = |
|||
}} |
}} |
||
'''NetBeans IDE''' (oft auch nur ''NetBeans'' genannt) ist eine [[Freie Software|freie]] [[integrierte Entwicklungsumgebung]], die komplett in der [[Programmiersprache]] [[Java (Programmiersprache)|Java]] geschrieben wurde und auf der NetBeans-Plattform läuft. Die NetBeans IDE wurde hauptsächlich für die Programmiersprache Java entwickelt, unterstützt jedoch auch [[C (Programmiersprache)|C]], [[C++]] und dynamische Programmiersprachen. Die IDE ist vergleichbar mit der [[Eclipse (IDE)|Eclipse IDE]] oder den kommerziellen Versionen von [[JBuilder]] oder [[IBM]] [[Rational Application Developer]] (basierend auf Eclipse). |
|||
'''NetBeans''' ist eine [[Java (Programmiersprache)|Java]]-[[Integrierte Entwicklungsumgebung|Entwicklungsumgebung]], die komplett in Java geschrieben wurde. |
|||
NetBeans ist ein [[Open Source|Open-Source-Projekt]], das als [[Plattform (Computer)|Plattform]] für eigene Anwendungen verwendet werden kann. |
|||
Das Programm ist ein [[Open Source|Open-Source]]-Projekt mit einem sehr großen Nutzerkreis, einer wachsenden [[Community]] und beinahe 100 (Tendenz steigend) Partnern weltweit. [[Sun Microsystems]] gründete das NetBeans-Open-Source-Projekt im [[Juni]] [[2000]] und ist dessen Haupt[[sponsor]]. |
|||
== Geschichte == |
|||
Lange Zeit wurde ''NetBeans'' von Sun Microsystems selbst vertrieben, unter dem Namen "Forte". Dabei gab es eine freiverfügbare und eine kostenpflichtige Version. Inzwischen hat sich dieses Projekt aufgeteilt und die bisher freiverfügbare Version wird jetzt nur noch über die Internetseite des NetBeans-Projekts vertrieben und ist weiterhin kostenfrei. Die kostenpflichtige Version ist bei Sun Microsystems verfügbar und wird nun [[Sun ONE Studio]] genannt. |
|||
1996 entwickelten einige Studenten aus der [[Tschechische Republik|Tschechischen Republik]] ein Projekt mit dem Namen ''Xelfi''. Das Ziel dabei war es, Java-Entwicklern eine integrierte Entwicklungsumgebung zu bieten, die der damaligen [[Borland Delphi]] IDE ähneln sollte. Die Studenten setzten sich als Hauptziel eine IDE, die insbesondere eine grafische Entwicklung der Anwendungsoberfläche ([[GUI]]) stark vereinfachen sollte. |
|||
Das Studentenprojekt ''Xelfi'' wurde schließlich zur Firma NetBeans. Die ersten kommerziellen Versionen wurden dann unter dem Namen Developer 2.0 und 2.1 veröffentlicht. Im Mai 1999 kam die Developer Beta 3.0 auf den Markt. Allerdings erschien nie die endgültige Version des NetBeans Developer 3.0, da NetBeans im Oktober von [[Sun Microsystems]] übernommen wurde. Wenige Zeit später veröffentlichte Sun das Programm „Forté for Java Community Edition IDE“, das auf dem Developer 3.0 basierte. Der Name Forté wurde gewählt, weil Sun zu dem Zeitpunkt ebenfalls eine Firma für Komponentenentwicklung namens Forté akquiriert hatte. Im Juni 2000 wurde Forté wieder unter dem Namen NetBeans der Open-Source-Gemeinde zur Verfügung gestellt. |
|||
== NetBeans als IDE == |
|||
Zu der frei verfügbaren NetBeans-IDE-Version gab es weitere kostenpflichtige Versionen, darunter ''Sun ONE Studio'' und den ''Sun Java Studio Creator'', die für spezielle Funktionen und durch [[Plug-in]]s für Web-Server-, HTML-Entwicklung, [[UML]] und [[Serviceorientierte Architektur|SOA]] erweitert wurden. Seit November 2005 integrierte Sun alle Java-IDE-Produkte einheitlich in NetBeans als Plugin.<ref name="discontinue">{{Internetquelle |autor=Paul Krill |url=https://www.javaworld.com/article/2077803/netbeans-to-pick-up-where-sun-java-studio-leaves-off.html |titel=NetBeans to pick up where Sun Java Studio leaves off |datum=2007-12-11 |abruf=2019-10-06 |sprache=en}}</ref> Mit der Übernahme von Sun Microsystems im Jahr 2010 wurde neben [[Apache OpenOffice|OpenOffice]] und [[MySQL]] auch NetBeans von [[Oracle]] übernommen. |
|||
Die IDE von NetBeans unterstützt den Anwender bei einer Vielzahl von Aufgaben und hat einen Funktionsumfang, der den anderer freier Entwicklungsumgebungen weit überschreitet. Einige Funktionen, die NetBeans bietet, sind teilweise nur in kommerziellen Versionen von [[JBuilder]] oder [[Eclipse (IDE)|Eclipse]]/IBM WSAD zu finden. Ein wesentlicher Unterschied von NetBeans zu anderen Java IDEs besteht darin, dass NetBeans ein gewisses Grundverständniss von Java-Programmierung beim Anwender voraussetzt. Andere Produkte führen durch zahlreiche Wizards und verschleiern dadurch die Zusammenhänge für den unerfahrenen Nutzer. NetBeans geht hier einen etwas anderen Weg, indem es den Anwender bei der Konfiguration und Erstellung von z.B. [[Java 2 Platform Enterprise Edition|J2EE]]-Anwendungen unterstützt, der aber letztendlich selbst wissen muss, was er tut. NetBeans unterstützt zu 100% Java 5.0 und umfasst unter anderem folgende Eigenschaften: |
|||
2016 begann Oracle damit, das gesamte NetBeans-Projekt an die [[Apache Software Foundation]] zu übergeben.<ref>{{Internetquelle |url=http://incubator.apache.org/projects/netbeans.html |titel=NetBeans Incubation Status - Apache Incubator |abruf=2019-10-06}}</ref> Während des Übergabeprozesses wurde NetBeans zu einem Apache-Incubator-Projekt und der gesamte Quelltext sowie die Organisation des Projekts einer Überprüfung unterzogen. Der Quelltext wurde zudem nach Apache 2.0 Lizenz neu lizenziert. Dies führte dazu, dass zwischen der Veröffentlichung der Hauptversionen 8.2 und 9.0 fast zwei Jahre lagen und NetBeans 9.0 faktisch nur Java SE unterstützte.<ref>{{Internetquelle |url=https://blogs.apache.org/netbeans/entry/announce-apache-netbeans-incubating-92 |titel=Apache NetBeans (incubating) 9.0 Released |abruf=2019-11-01}}</ref> Die Unterstützung für weitere Sprachen kehrte dann in nachfolgenden Veröffentlichungen wieder zurück. Im April 2019 wurde NetBeans schließlich erfolgreich zu einem Top-Level-Projekt hochgestuft.<ref>{{Internetquelle |url=https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces51 |titel=The Apache Software Foundation Announces Apache NetBeans as a Top-Level Project |abruf=2019-11-01}}</ref> Die Übergabe des Quelltextes von Oracle an Apache ist bis heute (Stand: Oktober 2019) noch nicht komplett abgeschlossen. |
|||
* Class Browser |
|||
* voll konfigurierbarer Editor |
|||
* [[Ant]]-basierte Projektverwaltung |
|||
* Unterstützung für die J2EE 1.4 Plattform |
|||
* ermöglicht die Integration von Application Servern |
|||
* Library Manager zur projektunabhängigen Verwaltung von Bibliotheken und Ressourcen |
|||
* Unterstützung von existierenden Buildscripts |
|||
* Unterstützung für Projekte mit multiplen Quellcodebäumen (verschiedenen Wurzeln) als Standardprojekt |
|||
* ermöglicht die Erstellung von J2EE-Anwendungen, automatisches Hinzufügen von [[Enterprise Java Beans|EJB]] und Web Modulen |
|||
* Deployen von Enterprise Anwendungen |
|||
* Erzeugen von EJB Modulen und deren deployen als Stand-Alone Module oder Pakete in J2EE Anwendungen |
|||
* Erzeugen von Session Beans, Entity Beans und Message-Driven Beans |
|||
* Erzeugen von Entity Beans unter Benutzung bestehender Datenbank-Schemata |
|||
* Erzeugen von Web Modulen welche EJBs aufrufen, deployen dieser wiederum als Stand-Alone oder als Paket für J2EE-Anwendungen |
|||
* Erzeugen, Registrieren und Testen von Webservices |
|||
* Beispielanwendungen für J2EE |
|||
* Importunterstützung für existierende Projekte (z.B. J2EE) |
|||
* NetBeans bietet ein Validationmechanismus für J2EE-Anwendungen |
|||
* für die Konfiguration von EJBs, Web Services und Web Komponenten stehen visuelle Helfer zur Verfügung |
|||
* NetBeans unterstützt das Testen der erstellten Anwendungen mittels JUnit |
|||
* NetBeans bietet eine Unterstützung für die Entwicklung von Java Programmen für mobile Endgeräte wie Handys oder [[Personal Digital Assistant|PDA]]s (Visuelle Unterstützung für das Design des Workflows und der Oberflächen, Hilfe bei der Code-Entwicklung) |
|||
* NetBeans bietet zahlreiche Unterstützungen für die Kommunikation verschiedener Enterprise-Systeme (End-to-end support für [[Java 2 Platform Micro Edition|J2ME]]-J2EE-Anwendungen). |
|||
== Unterstützte Sprachen == |
|||
Darüber hinaus gibt es zahlreiche freie und kommerzielle [[Plugin]]s für NetBeans, aus den Bereichen: |
|||
Die NetBeans IDE unterstützt direkt die Programmiersprachen Java, C, C++, [[Fortran]], [[JavaScript]], [[Groovy]] und [[PHP]]. Durch Plugins kann Netbeans auch um Sprachen wie [[Ada (Programmiersprache)|Ada]], [[Adobe Flex]], [[Clojure]], [[Coco/R]], [[Erlang (Programmiersprache)|Erlang]], [[Fortress (Programmiersprache)|Fortress]], [[Ruby (Programmiersprache)|Ruby]], [[JavaMath]], [[JavaFX]], [[Perl (Programmiersprache)|Perl]], [[PL/SQL]], [[Prolog (Programmiersprache)|Prolog]], [[Python (Programmiersprache)|Python]], [[Reguläre Ausdrücke]], [[Scala (Programmiersprache)|Scala]], [[SmartFrog]], [[Tcl]], [[TeX]] und [[LaTeX]], [[VRML]] und [[X3D]] erweitert werden. |
|||
== NetBeans IDE Download-Pakete == |
|||
* Database |
|||
Bis Version 8.2 wurden für die IDE verschiedene Varianten als Download-Pakete angeboten, die sich auf einen bestimmten Anwendungsfall konzentrierten. |
|||
* Distributed Application Support |
|||
* XML |
|||
* Tools |
|||
* Refactoring |
|||
* Developing NetBeans |
|||
* Modeling Tools |
|||
* Infrastructure |
|||
* Web Services |
|||
* Debugging |
|||
* Web |
|||
* Documentation |
|||
* Profiling |
|||
* C, C++, and Fortran |
|||
* Wireless Access |
|||
* Version Control |
|||
* J2EE Tools |
|||
* TestTools |
|||
* J2EE Support |
|||
* Graphical User Interface (GUI) Development Tools |
|||
* J2ME |
|||
... |
|||
== |
=== Java SE === |
||
Mit der NetBeans IDE für [[Java SE]] kann man Anwendungen auf Basis der NetBeans-Plattform entwickeln. Es bietet Unterstützung für die Entwicklung von graphischen Java-Desktop-Anwendungen, Kommandozeilenanwendungen oder [[Java-Applet|Java Applets]]. Das Java SE Download-Paket bietet eine JavaDoc-Integration, die die Kommentierung des erstellten Codes unterstützt und über eine Analysefunktion bestehende Kommentare auf Vollständigkeit und Fehler überprüft. Für die Testfallgeneration integriert das Java SE Download-Paket [[JUnit]] 3 und 4. Als Project Build-Systeme werden [[Apache Ant|Apache-Ant]]- und [[Apache Maven|Maven]]-Skripte unterstützt. |
|||
=== Jakarta EE === |
|||
Die neue Version von NetBeans macht einen Versionssprung auf 5.0. Der Sprung soll die vielfältigen Neuerungen von NetBeans wiederspiegeln und mit der Versionsnummer 5 der [[J2SE]] mitziehen. |
|||
Das [[Jakarta EE]] Download-Paket dient der Erstellung von Web- und Enterprise-Anwendungen auf Basis von Jakarta EE 8. Dies umfasst die Entwicklung von Webseiten, Servlets, Web Services, Enterprise Java Beans (EJB 3.1), JSF, JPA und bietet Unterstützung für den JSR 299 (Support for Contexts and Dependency Injection). |
|||
''' |
'''Web Frameworks''' |
||
Der Projektwizard umfasst [[JavaServer Faces|Java Server Faces]] (JSF), [[Spring (Framework)|Spring]], [[Struts]] und [[Hibernate (Framework)|Hibernate]]. Dadurch ist es möglich, Projekte zu erstellen, welche diese Frameworks nutzen. NetBeans erzeugt automatisch alle notwendigen Konfigurationsdateien und kopiert alle benötigten Bibliotheken in die richtigen Verzeichnisse. Damit entfallen aufwendige Anpassungen der Buildskripte per Hand. Die [[automatische Vervollständigung]] unterstützt alle notwendigen Erweiterungen für diese Konfigurationsdateien. Der ''New File Wizard'' enthält Templates für JSF Managed Beans, Struts Actions oder Struts Form Beans. In bereits bestehende Projekte kann der „Framework support“ hinzugefügt werden. |
|||
Neben zahlreichen kleinen Verbesserungen und Änderungen stammen die größten Erweiterungen aus den folgenden Bereichen: |
|||
'''Web Services''' |
|||
* ''Entwicklung von NetBeans Modulen'' |
|||
Mit der Unterstützung für [[Web Services]] ist es möglich, entsprechende Clients in J2SE-Applikationen zu erzeugen. Die für die Erzeugung und den Betrieb solcher Clients notwendigen Bibliotheken werden mit NetBeans ausgeliefert. Des Weiteren wird ein direkter Aufruf eines Web Service aus einer [[JavaServer Pages|JSP]] unterstützt, ohne den Umweg über ein [[Servlet]]. Abgerundet wird das Paket mit einem neuen Wizard, der direkt in der IDE das Erstellen einer [[WSDL]]-Datei ermöglicht, die wiederum für die Generierung von speziellen, für einen Web Service relevanten Dateien genutzt werden kann. |
|||
Die Version 5.0 bringt Erweiterungen für die Entwicklung von Modulen für NetBeans und NetBeans Plattform basierten Anwendungen. So ist es sehr einfach möglich komplexe [[Fat Client]]s zu entwickeln, die auf der NetBeans Plattform basieren oder auch Befehlserweiterungen für Netbeans zu programmieren. Als gutes Beispiel dient ein [http://platform.netbeans.org/tutorials/nbm-google.html Tutorial] für eine GoogleToolbar, die direkt in Netbeans integriert werden kann. |
|||
'''Anwendungsserver''' |
|||
* ''Matisse GUI Builder'' |
|||
Um der Apache-Lizenz zu entsprechen, wurde die standardmäßige Unterstützung der Applikations-Server [[JBoss Application Server|JBoss]] und [[WebLogic]] entfernt. |
|||
[[Matisse]] erweitert den bestehenden NetBeans IDE 4.1 Form Editor und ermöglicht eine einfache und intuitive [[GUI]] Gestaltung, ohne das es nötig ist sich mit den Eigenarten von Swing [[Layoutmanager]]n auskennen zu müssen. Mittels [[drag and drop]] können die Komponenten der Form hinzugefügt werden, wobei Ausrichtung, Größe oder andere Eigenschaften einfach anpassbar sind, bzw. durch die IDE automatisch vorgegeben werden. |
|||
Standardmäßig sind nur noch [[GlassFish]] v5.0.1 und Payara enthalten.<ref>{{Internetquelle |url=http://netbeans.apache.org/download/nb111/index.html |titel=Apache NetBeans 11.1 Features |abruf=2019-10-06}}</ref> |
|||
Ein Matisse [[Macromedia Flash]]demo ist [http://www.netbeans.org/files/documents/4/475/matisse.html hier] verfügbar. |
|||
=== C++ und C === |
|||
*''Server'' |
|||
Das Download-Paket für C++ und C ermöglicht es, mit der Netbeans IDE auf C++, C oder Fortran basierende Anwendungen zu erstellen. Dabei können neue Projekte von Grund auf, aus existierendem Code oder aus Binärdateien erzeugt werden. Die Codevervollständigung für C++ und C wird automatisch konfiguriert, indem für jede Quelldatei die Erstellungsregeln aus dem zugehörigen Makefile oder Projekteigenschaften analysiert und die Abhängigkeiten ermittelt werden. Der Editor unterstützt Syntax- und Semantik-Highlighting, automatische Einrückung und Formatierung, Code-Templates und Kommentierungsunterstützung. Wie bei anderen IDEs auch können verschiedene Konfigurationen und Make-Ziele angelegt und verwaltet werden. Als Compiler werden standardmäßig die GNU-, [[Cygwin]]- und [[MinGW]]-Compiler unterstützt. Durch den Benutzer können weitere Compiler hinzugefügt werden. |
|||
'''Test und Deployment''' |
|||
Wie in früheren Versionen wird der Sun Java System Application Server 8.1 unterstützt, zusätzlich können jetzt auch JBoss 4 und WebLogic 9 in der [[IDE]] registriert werden. D.h., man kann seine Web Anwendungen nun direkt zu diesen Applikations Servern deployen. Zusätzlich wurde die Konfiguration des mit ausgelieferten Tomcat verbessert, so das dessen Einstellungen nun noch besser innerhalb der IDE angepasst werden können. |
|||
Auch für in C++ oder C geschriebene Quellen können Unit-Tests direkt aus der IDE erstellt werden. Dabei wird eine grafische Unterstützung ähnlich wie [[JUnit]] aus dem Java-SE-Paket geboten. Die kompilierte Anwendung kann automatisch im [[Tar (Packprogramm)|tar]]-, [[ZIP-Dateiformat|ZIP]]-, SVR4-, RPM- oder Debian-Format bereitgestellt werden. |
|||
*''Web Frameworks'' |
|||
'''Debugger''' |
|||
Der bestehende Projektwizard wurde um [[JavaServer Faces]] (JSF) und [[Struts]] erweitert. |
|||
Dadurch ist es möglich Projekte zu erstellen welche eines der beiden Frameworks oder gar beide nutzt. NetBeans erzeugt automatisch alle notwendigen Konfigurationsdateien und kopiert alle notwendigen Bibliotheken in die richtigen Verzeichnisse. Damit entfallen aufwendige händische Anpassungen der Buildskripts o.ä. Die automatische [[Code completion]] unterstützt jetzt auch alle notwenigen Erweiterungen für diese Konfigurationsdateien. Der New File Wizard wurde ebenfalls erweitert um Templates für JSF Managed Beans, Struts Actions oder Struts Form Beans. In bereits bestehende Projekte kann der "Framework support" hinzugefüght werden. |
|||
Der Debugger für C++- und C-Projekte basiert auf dem [[GNU Debugger]], es können jedoch auch andere Debugger eingebunden werden. Es werden Mehrfach-Debugger-Sitzungen unterstützt, ebenso wie Linien- und Funktions-Breakpoints. Sämtliche Debugger-Funktionen sind in der IDE integriert. |
|||
'''Qt-Unterstützung''' |
|||
NetBeans bietet eine vollständige Unterstützung von [[Qt (Bibliothek)|Qt]], wodurch alle Qt-Dateitypen erstellt und bearbeitet werden können (also Qt-Files, GUI-Forms, Ressourcen und Translation-Files). Die Standard-Qt-Werkzeuge wie Qt Designer, Qt Linguist oder qmake sind vollständig eingebunden. |
|||
'''Remote-Development''' |
|||
Eine Besonderheit ist die vollständige Unterstützung von Remote-Development für C++- und C-Projekte. Dies bedeutet, Projekte vollständig auf einem entfernten Rechner zu entwickeln, bauen, ausführen und debuggen. Für den Benutzer unterscheidet sich die Handhabung dieser Projekte nicht von der lokalen Entwicklung. |
|||
=== PHP === |
|||
Dient zur Erstellung von Web-Applikationen. Unterstützt [[JavaScript]], [[Cascading Style Sheets#CSS3|CSS3]] und, ab Version 7.3, auch [[HTML5]]-[[Syntaxhervorhebung|Syntax-Highlighting]]. Ebenso werden auch das [[Zend Framework]], [[Symfony2]] und das [[Symfony]]1-[[Framework]] unterstützt. |
|||
=== All === |
|||
Das Download-Paket All umfasst alle vorgestellten Download-Pakete sowie die Unterstützung für Groovy und die Entwicklung von Java-Anwendungen für mobile und eingebettete Geräte. |
|||
== NetBeans IDE im Detail == |
|||
=== Plugins === |
|||
Es gibt eine Reihe von Erweiterungen für NetBeans, sogenannte „Plugins“, die der IDE spezielle Techniken oder Tools hinzufügen. Die kommerziellen oder freien Plugins können über die Projektseite oder direkt aus der NetBeans IDE heraus bezogen werden. Über eine einfache Funktion werden sie anschließend in die IDE integriert. Die Modularisierung der NetBeans IDE geht so weit, dass sogar das komplette Projektmanagement ausgetauscht werden kann. So ist es zum Beispiel möglich, ein [[Apache Maven|Maven]]-Plugin zu installieren und darüber Java-Projekte zu verwalten.<ref name=":0" /> |
|||
=== Debugging === |
|||
Mittels des grafischen [[Debugger]]s können Haltepunkte direkt im Quelltext (auch während der Laufzeit) aktiviert und deaktiviert werden. Haltepunkte können fest, bedingt oder signalorientiert sein. Bedingte Haltepunkte werden nur ausgeführt, wenn ein berechneter boolescher Ausdruck erfüllt ist. Signalhaltepunkte reagieren zum Beispiel auf bestimmte Ausnahmen ([[Exception]]s) oder Einstiegs- und Ausstiegspunkte von Methoden. Außerdem beherrscht der Debugger interaktive Haltepunkte (''Run to Cursor'' und ''Run to method''). |
|||
Zu beobachtende Variablen können mittels Code Completion (wie im normalen Editor) eingegeben werden. Während der Laufzeit können beliebige Java-Ausdrücke berechnet werden, und Variableninhalte können zur Laufzeit geändert werden. Eine besondere Übersicht vereinfacht es, große beobachtete Arrays darzustellen. Im Quelltext kann per [[Tooltip]] der Variableninhalt angezeigt werden. |
|||
Ab dem JDK 5.0 können auch Methodenblöcke während der Laufzeit modifiziert werden. |
|||
Der Debugger ist multisession- und [[multithreading]]<nowiki/>fähig, das heißt, es können gleichzeitig mehrere Programme und in jedem Programm mehrere [[Thread (Informatik)|Threads]] überwacht werden. |
|||
=== GUI-Builder === |
|||
[[Datei:Gui-builder.png|mini|GUI-Builder unter Windows]] |
|||
Der Matisse-[[GUI-Builder]] ermöglicht eine grafische GUI-Gestaltung, ohne dass es nötig ist, sich mit den Eigenarten von Swing-[[Layoutmanager]]n auszukennen. Er bietet zudem einen eigenen Layoutmanager (GroupLayout), der mit Version 6 Teil der [[Java Platform, Standard Edition]] wurde, und kann das Layout in das null-Layout konvertieren. Mittels [[Drag and Drop|Drag & Drop]] können die Komponenten der Form hinzugefügt werden, wobei Ausrichtung, Größe oder andere Eigenschaften einfach anpassbar sind bzw. durch die IDE automatisch vorgegeben werden. Textelemente können direkt in dem GUI-Builder bearbeitet werden. Matisse unterstützt JavaBeans als Komponenten und Container. Alle beschreibenden Texte können internationalisiert und aus Übersetzungstabellen (Resourcedateien) eingelesen werden. |
|||
=== Quelltexteditor === |
|||
[[Datei:Netbeans global.png|mini|Quelltexteditor]] |
|||
==== Editorfunktionen ==== |
|||
* Javatipps, die bei der Quelltexterstellung helfen |
|||
* Komponentenpaletten zum einfachen Einfügen von Codeschnipseln (z. B. [[HTML]], [[JSP]] oder [[SQL]]) via [[Drag and Drop|Drag & Drop]] in eine JSP- oder HTML-Seite |
|||
* Fehlermarkierung, die anzeigt, ob die Datei kompilierbar ist oder nicht, und einen Überblick über alle Fehler, Warnungen, [[To-do-Liste|Todos]] und Bookmarks im Quelltext gibt |
|||
* Umschließen eines selektierten Statements mit einem try/catch-Block |
|||
* SQL-Editor mit [[Syntaxhervorhebung]] |
|||
* einfaches Hinzufügen von XML-Dateien, wie [[Dokumenttypdefinition]]en (DTD) und Schemata ([[XML Schema|XSD]]), für die Nutzung bei der Code Completion und die [[Validator|Validierung]] |
|||
* Einführung einer Möglichkeit, aus vorgegebenen Sets für Tastenkürzel oder Farbschemata (z. B. im [[Emacs]]-Stil) zu wählen oder diese nach eigenen Wünschen anzupassen |
|||
==== Codevervollständigung von Java-Quelltext ==== |
|||
Für das Vervollständigen von Klassen, Methoden und Feldern können durch die Codecompletion-Box Codeschnipsel aus folgenden Bereichen neu erzeugt werden: |
|||
* Code von konfigurierbaren Vorlagen |
|||
* [[Zugriffsfunktion|Getter und Setter]] |
|||
* Anonyme innere Klassen |
|||
* Methodenkörper für Methoden, welche überschrieben oder implementiert werden |
|||
* try/catch-Blöcke mit passenden [[Exception]]s |
|||
Zusätzlich kann durch die Verwendung bestimmter Abkürzungen ([[Camel Case]] Identifier) Code erzeugt werden. So kann beispielsweise die Eingabe von ''AIOOBE'' automatisch durch ''ArrayIndexOutOfBoundsException'' ersetzt werden. |
|||
=== Refactoring === |
|||
Der Java-Editor beherrscht folgende [[Refactoring]]s inklusive Wiederherstellen und Vorschau der Ergebnisse: |
|||
* ''Rename'' – Umbenennen von Paketen, Klassen, Methoden und Variablen |
|||
* ''Extract Method'' – Quelltextabschnitte innerhalb von Methoden zu neuen Methoden extrahieren |
|||
* ''Change Method Parameters'' – Signatur einer Methode interaktiv verändern (Parameterreihenfolge ändern) |
|||
* ''Encapsulate Fields'' – Direktzugriffe auf Objektfelder in Getter- und Setter-Methoden wandeln |
|||
* ''Pull Up'' – Eine Methode in die Superklasse verschieben |
|||
* ''Push Down'' – Eine Methode in eine Subklasse verschieben |
|||
* ''Move Class'' – Eine Klasse in ein anderes Paket verschieben |
|||
* ''Move Inner to Outer Level'' – Eine innere Klasse in eine normale Klasse wandeln |
|||
* ''Convert Anonymous Class to Inner'' – Eine anonyme Klasse in eine benannte innere Klasse wandeln |
|||
* ''Extract Interface'' – Aus der Klassensignatur ein [[Schnittstelle (UML)|Schnittstellengerüst]] erzeugen |
|||
* ''Extract Superclass'' – Aus einer Klasse eine Superklasse extrahieren |
|||
* ''Use Supertype where Possible'' – Casts auf Superklassen umstellen |
|||
* ''Safe Delete'' – Testet vor dem Löschen von Feldern, Methoden und Klassen, ob Verwendungen existieren |
|||
Natürlich werden alle Referenzen im gesamten Projekt angepasst, wenn ein Refactoring durchgeführt wird. Wenn also per ''Change Method Parameters'' die Reihenfolge von Parametern geändert werden soll, wird im gesamten Quelltext jeder Aufruf entsprechend angepasst. Verschiebt man eine Klasse in ein anderes Paket, so passen sich mit dem Refactoring-Vorgang alle import-Befehle an. |
|||
Außerdem kann die Verwendung von Variablen, Parametern, Methoden und Klassen aufgelistet werden (''Find usages''). Mittels ''Fix Imports'' können Import-Anweisungen automatisch und interaktiv dem Quelltext hinzugefügt werden. |
|||
Zusätzliche Module erlauben das Auffinden von ungenutzten Variablen, leeren catch-Blöcken oder toten Methoden. Durch diese Module kann die bereits sehr mächtige Refactorfunktionalität von NetBeans weiter ausgebaut werden. |
|||
Das Refactoring für andere Sprachen wie C++ und C ist im Moment noch nicht so mächtig. Jedoch soll in den nächsten Versionen auch bei diesen ein vergleichbarer Funktionsumfang erreicht werden. |
|||
=== Profiler === |
|||
Der [[Profiler (Programmierung)|Profiler]] wird ab Version 6.0 mitgeliefert.<ref>{{Internetquelle |url=https://netbeans.apache.org/tutorial/main/kb/docs/java/profiler-intro/ |titel=Introduction to Profiling Java Applications in NetBeans IDE |abruf=2024-01-28}}</ref> |
|||
Um eine sichere, skalierbare Anwendung zu erstellen, benötigen Java-Entwickler Informationen über das Laufzeitverhalten ihrer Anwendung. Der NetBeans-Profiler stellt diese Informationen zur Verfügung. Innovative Techniken erlauben es dem Entwickler, seine Anwendung mit wenig Aufwand zu messen. Die Ergebnisse des Profilers sind klar strukturiert und einfach zu interpretieren. Die zu messenden Anwendungen können sich auf dem lokalen oder einem entfernten System befinden. |
|||
Folgende Funktionen beherrscht der Profiler: |
|||
* Überwachung der [[CPU-Last]], CPU-Geschwindigkeit und CPU-Ausführung |
|||
* Speicherbenutzung |
|||
* Speicherüberwachung mit Speicherlecktests |
|||
* Überwachung von nebenläufigen Prozessen (Threads) und deren Status |
|||
* Unterstützung für das JDK 1.4.2, JDK 5.0 und JDK 6.0 |
|||
* Profiling von laufenden Anwendungen |
|||
* Speichern von Profiler-Abbildern für die nachträgliche Bearbeitung |
|||
* Profiling von entfernten [[Virtuelle Maschine|VMs]] (über Netzwerkprotokolle) |
|||
Durch die Integration in die IDE erlaubt es der Profiler, Performanceprobleme und Speicherprobleme aufzuspüren. |
|||
Der Profiler basiert auf einem Forschungsprojekt der Sun Laboratories, das sich speziell mit Analysetechniken für Java-Anwendungen beschäftigt. Der Profiler nutzt diese Methoden, um zur Laufzeit dynamisch den [[Bytecode]] zu untersuchen und auszuwerten. Dadurch kann er auch komplexe und große Java-Anwendungen behandeln. |
|||
Der Profiler nutzt für eine geringe Belastung der Laufzeittests eine dynamische Laufzeit-Instrumentalisierung. Dabei bleibt das gespeicherte Programm unangetastet. Die Profiler-Marken für die statistischen Auswertungen werden vor dem Ausführen im Arbeitsspeicher hinzugefügt. Mit ''dynamisch'' ist gemeint, dass die Instrumentalisierung jederzeit aktiviert und deaktiviert werden kann, ohne eine Anwendung beenden oder neu starten zu müssen. |
|||
* ''Schlanker Messprozess'' – Durch den Profiler können gezielt einzelne Abschnitte der Anwendung gemessen werden. Die restlichen Programmteile laufen ohne Beeinflussung des Profilers. Die zu messenden Teile der Anwendung und die Untersuchungsaspekte (CPU, Speicher,… ) können zur Laufzeit geändert werden. |
|||
* ''Keine Beeinflussung der Programmausführung'' – Die Anwendung kann wie gewohnt gestartet und ausgeführt werden, ohne auf den Profiler Rücksicht zu nehmen. Der Profiler kann jederzeit zur Programmausführung hinzugeschaltet werden. Wenn der Messvorgang beendet ist, verbleiben keine Instruktionen innerhalb des Anwendungscodes. |
|||
* ''Aufgabenbasiertes Profiling'' – Das Messen des Laufzeitverhaltens einer Anwendung ist nicht einfach zu handhaben. Der NetBeans-Profiler bringt einige Vorgaben mit, die Standardaufgaben (Monitoring, Speichernutzung,…) im Profiling bereits abdecken. In diesen Voreinstellungen sind bereits die wichtigsten Konfigurationen getroffen, und es bedarf nur noch wenigen Anpassungen. Erfahrene Nutzer können selbstkonfigurierte Messungen durchführen. |
|||
=== Ant-Unterstützung === |
|||
Das Projektsystem basiert auf einer starken Integration von [[Apache Ant|Apache-Ant]]-Skripten. Diese können angepasst und auch mit einem Debugger untersucht werden. |
|||
=== Versionskontrolle === |
|||
Durch NetBeans werden folgende [[Versionskontrolle|Versionskontrollsysteme]] direkt unterstützt:<ref>{{Internetquelle |url=https://netbeans.apache.org/tutorial/main/kb/docs/ide/#_source_code_management |titel=Source Code Management |werk=NetBeans IDE Tutorials |hrsg=Apache Software Foundation |abruf=2024-01-28}}</ref> |
|||
* [[Concurrent Versions System]] CVS |
|||
* [[Apache Subversion]] (SVN) |
|||
* [[Mercurial]] |
|||
* [[Git]] |
|||
* [[ClearCase]] (als Plug-in) |
|||
Die Unterstützung fügt sich in den typischen Programmier[[workflow]] ein und versteckt die abstrakte Bedienung mittels bekannter Befehle. Die IDE erkennt automatisch Arbeitsverzeichnisse und listet alle geänderten Dateien im ''Versioning Window'' auf. Die Versionsunterstützung ist ebenfalls in das Projektsystem und in die Refactoring-Funktionen integriert. |
|||
Typische Funktionen des Versionskontrollsystems sind direkt über das Kontextmenü zu erreichen. Die Verwaltung mehrerer Repositories und Branches ist auf einfache Weise möglich. Das ''Versioning Window'' zeigt einen Überblick über den Status von Dateien, Ordnern, Paketen und Projekten. Mit dem Kommando ''Diff'' können Unterschiede zwischen einzelnen Versionen angezeigt werden. Zusätzlich zum Quelltext können auch Projektmetadaten verteilt werden. |
|||
Zusätzlich zu den entfernten Versionkontrollsystemen führt NetBeans für jeden Quelltext eine sogenannte ''Local History''. Diese erlaubt, auch ohne die Unterstützung einer Versionskontrolle Änderungen am Quelltext zu verfolgen und gegebenenfalls rückgängig zu machen. |
|||
=== Developer Collaboration === |
|||
Das ''Developer Collaboration'' erlaubt es Entwicklern und Programmieren, zeitgleich und in Echtzeit in einer Art [[Chat]]-Modus an einer Anwendung zu entwickeln (synchrone Collaboration). Die angemeldeten Teammitglieder können jede Änderung direkt mitverfolgen, per Chat besprechen, [[Code Review]]s durchführen oder auch das Projekt kompilieren. Wenn ein Teamserver in NetBeans konfiguriert ist erlaubt dies zusätzlichen Informationsaustausch mit Hilfe von Trackern, Documentshares und Foren (asynchrone Collaboration).<ref>{{Internetquelle |url=https://netbeans.apache.org/tutorial/main/kb/docs/ide/team-servers/ |titel=Working With a Team Server in NetBeans IDE |abruf=2024-01-28}}</ref> |
|||
=== Entwicklung von NetBeans-Modulen === |
|||
Die IDE bringt Assistenten für die Entwicklung von Modulen für NetBeans IDE und anderen auf der NetBeans-Plattform basierenden Anwendungen mit. So ist es sehr einfach möglich, komplexe [[Fat Client]]s zu entwickeln, die auf der NetBeans-Plattform gründen, oder auch Befehlserweiterungen für NetBeans zu programmieren. |
|||
Jeder Benutzer kann eigene Module entwickeln und diese über den ''NetBeans Plugin Catalogue'' anderen zur Verfügung stellen.<ref name=":0">{{Internetquelle |url=https://plugins.netbeans.apache.org/ |titel=Apache NetBeans Plugin Portal |abruf=2024-01-28}}</ref> |
|||
== Plattform == |
|||
Die ''NetBeans Platform'' ist eine [[Rich Client Platform|Anwendungs-Laufzeitumgebung]] und kann als Basis für generische [[Desktop-Anwendung]]en auf Basis von [[Swing (Java)|Swing]] genutzt werden<ref>{{Internetquelle |url=https://netbeans.apache.org/tutorial/main/tutorials/nbm-quick-start/ |titel=NetBeans Platform Quick Start |abruf=2024-01-28}}</ref> (zum Beispiel die ''NetBeans [[Integrierte Entwicklungsumgebung|IDE]]''). |
|||
Da die meisten Anwendungen ähnliche Anforderungen haben, wie zum Beispiel [[Menü (Computer)|Menüs]], Dokumentenmanagement, Änderungen von Einstellungen und ähnliches, stellt die NetBeans-Plattform entsprechende Funktionen zur Verfügung. Der Entwickler erzeugt den Anwendungscode als ein oder mehrere NetBeans-Module und fügt diese der Plattform hinzu. So kann der Entwickler sich auf die Programmierung der [[Geschäftslogik]] als wesentliche Aufgabe konzentrieren. Die entstehende Anwendung ist plattformunabhängig. |
|||
Einige Eigenschaften der Plattform: |
|||
* ''User Interface Management'' – Fenster, Menüs, [[Symbolleiste]]n und andere Komponenten werden zur Verfügung gestellt. Wie in [[Swing (Java)|Swing]] üblich, kann die Plattform auch um eigene grafische Komponenten erweitert werden. |
|||
* ''Daten- und Gestaltungsmanagement'' – Die Plattform stellt eine große Palette an Werkzeugen zur Verfügung, mit denen Daten angezeigt und manipuliert werden können. |
|||
* ''Editor'' – Der NetBeans-Editor kann durch die Anwendung genutzt werden. Die Werkzeuge des Editors lassen sich schnell und einfach erweitern und in den Menüs passend zusammenstellen. |
|||
* ''Einstellungsverwaltung'' – Durch die NetBeans-Dateisysteminfrastruktur können abstrakte Daten verwaltet werden. Egal ob Dateien lokal vorliegen oder entfernt, via FTP, CVS oder in einer Datenbank, der Zugriff darauf ist transparent und kann durch eigenen Arten der Datenspeicherung für die Plattform ergänzt werden. Alle Anwendungen, die auf der NetBeans-Plattform erstellt wurden, sind internetfähig. |
|||
* ''Das Wizard Framework'' – Die NetBeans-Plattform bietet einfache Werkzeuge, um erweiterbare, anwenderfreundliche Assistenten zu erstellen, die den Anwender durch komplexe Sachverhalte leiten. |
|||
* ''Konfigurationsmanagement'' – Durch die NetBeans-Plattform werden sich wiederholende Aufgaben, wie der Remotedatenzugriff, das Management und die Speicherung, von Benutzerkonfigurationen übernommen. Somit besteht die Anwendung aus der Plattform und dem logischen Code, der die eigentliche Funktionalität bereitstellt. |
|||
* ''Speichermanagement'' – Das Speichermanagement beruht auf der Abstraktion eines dateibasierten Datenzugriffs. Dateien oder „Files“ sind im NetBeans-Konzept lokale Dateien, entfernte Dateien auf einem FTP-Server, in einem CVS Repository oder in einer Datenbank. Durch die Abstraktion des Datenzugriffs ist der Zugriff auf Dateien für alle anderen Module transparent, sprich diese müssen sich nicht um den eigentlichen Datenzugriff kümmern, sondern können dies über das Speichermanagementmodul der Plattform realisieren. |
|||
* ''[[Plattform (Computer)|Plattformunabhängigkeit]]'' – Da die Applikationsbasis, wie die NetBeans-IDE, vollständig in Java geschrieben ist, sind Anwendungen, die darauf basieren, von Natur aus nahezu unabhängig von einem [[Betriebssystem]] (soweit eine VM dafür portiert wurde). Dadurch laufen sie auf allen Systemen, die mit einer zu Java 2 kompatiblen virtuellen Maschine (1.3 und höher) ausgerüstet sind. Dies spart Entwicklungszeit und Kosten für Migrationen und erleichtert die Wartung sowie den Support für die Anwendung. |
|||
== Weblinks == |
== Weblinks == |
||
{{commonscat|NetBeans}} |
|||
* [https://netbeans.apache.org/ Offizielle Website] (englisch) |
|||
* [https://netbeans.apache.org/wiki/ Netbeans Wiki] (englisch) |
|||
== Einzelnachweise == |
|||
* [http://www.netbeans.org/ www.netbeans.org (''englisch'')] |
|||
<references /> |
|||
* [http://www.netbeans.org/products/index.html Downloadseite die neueste NetBeans Version (''englisch'')] |
|||
* [http://h71000.www7.hp.com/openvms/products/ips/netbeans/ NetBeans für HP OpenVMS (''english'')] |
|||
* [http://www.ociweb.com/jnb/jnbSep2005.html Artikel auf Object Computing Inc: Getting Started with the NetBeans Platform (''englisch'')] |
|||
* [http://www.planetnetbeans.org/ www.planetnetbeans.org (''englisch'')] |
|||
{{Normdaten|TYP=s|GND=4712735-1|LCCN=sh/2016/405}} |
|||
[[Kategorie:integrierte Entwicklungsumgebung]] |
|||
[[Kategorie:Programmiersprache Java]] |
|||
[[Kategorie:Apache-Projekt]] |
|||
[[cs:NetBeans]] |
|||
[[ |
[[Kategorie:Java-IDE]] |
||
[[Kategorie:Java-Programmierwerkzeug]] |
|||
[[fr:NetBeans]] |
|||
[[Kategorie:Java-Programm]] |
|||
[[lt:NetBeans]] |
|||
[[ |
[[Kategorie:XML-Editor]] |
||
[[Kategorie:Freie integrierte Entwicklungsumgebung]] |
Aktuelle Version vom 6. Juni 2025, 17:47 Uhr
Apache NetBeans
| |
---|---|
![]() | |
![]() Apache NetBeans IDE 11.0 | |
Basisdaten
| |
Entwickler | Apache Software Foundation, Oracle Corporation |
Erscheinungsjahr | 1997 |
Aktuelle Version | 26[1] (20. Mai 2025) |
Aktuelle Vorabversion | 12.3 Beta 3 (5. November 2020) |
Betriebssystem | plattformunabhängig |
Programmiersprache | Java |
Kategorie | IDE |
Lizenz | Apache 2.0 Lizenz, Bis Version 8.2: CDDL, GPL (v2 with Classpath Exception, ab Version 6.0)[2] |
deutschsprachig | nein |
netbeans.apache.org |
NetBeans IDE (oft auch nur NetBeans genannt) ist eine freie integrierte Entwicklungsumgebung, die komplett in der Programmiersprache Java geschrieben wurde und auf der NetBeans-Plattform läuft. Die NetBeans IDE wurde hauptsächlich für die Programmiersprache Java entwickelt, unterstützt jedoch auch C, C++ und dynamische Programmiersprachen. Die IDE ist vergleichbar mit der Eclipse IDE oder den kommerziellen Versionen von JBuilder oder IBM Rational Application Developer (basierend auf Eclipse).
NetBeans ist ein Open-Source-Projekt, das als Plattform für eigene Anwendungen verwendet werden kann.
Geschichte
[Bearbeiten | Quelltext bearbeiten]1996 entwickelten einige Studenten aus der Tschechischen Republik ein Projekt mit dem Namen Xelfi. Das Ziel dabei war es, Java-Entwicklern eine integrierte Entwicklungsumgebung zu bieten, die der damaligen Borland Delphi IDE ähneln sollte. Die Studenten setzten sich als Hauptziel eine IDE, die insbesondere eine grafische Entwicklung der Anwendungsoberfläche (GUI) stark vereinfachen sollte.
Das Studentenprojekt Xelfi wurde schließlich zur Firma NetBeans. Die ersten kommerziellen Versionen wurden dann unter dem Namen Developer 2.0 und 2.1 veröffentlicht. Im Mai 1999 kam die Developer Beta 3.0 auf den Markt. Allerdings erschien nie die endgültige Version des NetBeans Developer 3.0, da NetBeans im Oktober von Sun Microsystems übernommen wurde. Wenige Zeit später veröffentlichte Sun das Programm „Forté for Java Community Edition IDE“, das auf dem Developer 3.0 basierte. Der Name Forté wurde gewählt, weil Sun zu dem Zeitpunkt ebenfalls eine Firma für Komponentenentwicklung namens Forté akquiriert hatte. Im Juni 2000 wurde Forté wieder unter dem Namen NetBeans der Open-Source-Gemeinde zur Verfügung gestellt.
Zu der frei verfügbaren NetBeans-IDE-Version gab es weitere kostenpflichtige Versionen, darunter Sun ONE Studio und den Sun Java Studio Creator, die für spezielle Funktionen und durch Plug-ins für Web-Server-, HTML-Entwicklung, UML und SOA erweitert wurden. Seit November 2005 integrierte Sun alle Java-IDE-Produkte einheitlich in NetBeans als Plugin.[3] Mit der Übernahme von Sun Microsystems im Jahr 2010 wurde neben OpenOffice und MySQL auch NetBeans von Oracle übernommen.
2016 begann Oracle damit, das gesamte NetBeans-Projekt an die Apache Software Foundation zu übergeben.[4] Während des Übergabeprozesses wurde NetBeans zu einem Apache-Incubator-Projekt und der gesamte Quelltext sowie die Organisation des Projekts einer Überprüfung unterzogen. Der Quelltext wurde zudem nach Apache 2.0 Lizenz neu lizenziert. Dies führte dazu, dass zwischen der Veröffentlichung der Hauptversionen 8.2 und 9.0 fast zwei Jahre lagen und NetBeans 9.0 faktisch nur Java SE unterstützte.[5] Die Unterstützung für weitere Sprachen kehrte dann in nachfolgenden Veröffentlichungen wieder zurück. Im April 2019 wurde NetBeans schließlich erfolgreich zu einem Top-Level-Projekt hochgestuft.[6] Die Übergabe des Quelltextes von Oracle an Apache ist bis heute (Stand: Oktober 2019) noch nicht komplett abgeschlossen.
Unterstützte Sprachen
[Bearbeiten | Quelltext bearbeiten]Die NetBeans IDE unterstützt direkt die Programmiersprachen Java, C, C++, Fortran, JavaScript, Groovy und PHP. Durch Plugins kann Netbeans auch um Sprachen wie Ada, Adobe Flex, Clojure, Coco/R, Erlang, Fortress, Ruby, JavaMath, JavaFX, Perl, PL/SQL, Prolog, Python, Reguläre Ausdrücke, Scala, SmartFrog, Tcl, TeX und LaTeX, VRML und X3D erweitert werden.
NetBeans IDE Download-Pakete
[Bearbeiten | Quelltext bearbeiten]Bis Version 8.2 wurden für die IDE verschiedene Varianten als Download-Pakete angeboten, die sich auf einen bestimmten Anwendungsfall konzentrierten.
Java SE
[Bearbeiten | Quelltext bearbeiten]Mit der NetBeans IDE für Java SE kann man Anwendungen auf Basis der NetBeans-Plattform entwickeln. Es bietet Unterstützung für die Entwicklung von graphischen Java-Desktop-Anwendungen, Kommandozeilenanwendungen oder Java Applets. Das Java SE Download-Paket bietet eine JavaDoc-Integration, die die Kommentierung des erstellten Codes unterstützt und über eine Analysefunktion bestehende Kommentare auf Vollständigkeit und Fehler überprüft. Für die Testfallgeneration integriert das Java SE Download-Paket JUnit 3 und 4. Als Project Build-Systeme werden Apache-Ant- und Maven-Skripte unterstützt.
Jakarta EE
[Bearbeiten | Quelltext bearbeiten]Das Jakarta EE Download-Paket dient der Erstellung von Web- und Enterprise-Anwendungen auf Basis von Jakarta EE 8. Dies umfasst die Entwicklung von Webseiten, Servlets, Web Services, Enterprise Java Beans (EJB 3.1), JSF, JPA und bietet Unterstützung für den JSR 299 (Support for Contexts and Dependency Injection).
Web Frameworks
Der Projektwizard umfasst Java Server Faces (JSF), Spring, Struts und Hibernate. Dadurch ist es möglich, Projekte zu erstellen, welche diese Frameworks nutzen. NetBeans erzeugt automatisch alle notwendigen Konfigurationsdateien und kopiert alle benötigten Bibliotheken in die richtigen Verzeichnisse. Damit entfallen aufwendige Anpassungen der Buildskripte per Hand. Die automatische Vervollständigung unterstützt alle notwendigen Erweiterungen für diese Konfigurationsdateien. Der New File Wizard enthält Templates für JSF Managed Beans, Struts Actions oder Struts Form Beans. In bereits bestehende Projekte kann der „Framework support“ hinzugefügt werden.
Web Services
Mit der Unterstützung für Web Services ist es möglich, entsprechende Clients in J2SE-Applikationen zu erzeugen. Die für die Erzeugung und den Betrieb solcher Clients notwendigen Bibliotheken werden mit NetBeans ausgeliefert. Des Weiteren wird ein direkter Aufruf eines Web Service aus einer JSP unterstützt, ohne den Umweg über ein Servlet. Abgerundet wird das Paket mit einem neuen Wizard, der direkt in der IDE das Erstellen einer WSDL-Datei ermöglicht, die wiederum für die Generierung von speziellen, für einen Web Service relevanten Dateien genutzt werden kann.
Anwendungsserver
Um der Apache-Lizenz zu entsprechen, wurde die standardmäßige Unterstützung der Applikations-Server JBoss und WebLogic entfernt.
Standardmäßig sind nur noch GlassFish v5.0.1 und Payara enthalten.[7]
C++ und C
[Bearbeiten | Quelltext bearbeiten]Das Download-Paket für C++ und C ermöglicht es, mit der Netbeans IDE auf C++, C oder Fortran basierende Anwendungen zu erstellen. Dabei können neue Projekte von Grund auf, aus existierendem Code oder aus Binärdateien erzeugt werden. Die Codevervollständigung für C++ und C wird automatisch konfiguriert, indem für jede Quelldatei die Erstellungsregeln aus dem zugehörigen Makefile oder Projekteigenschaften analysiert und die Abhängigkeiten ermittelt werden. Der Editor unterstützt Syntax- und Semantik-Highlighting, automatische Einrückung und Formatierung, Code-Templates und Kommentierungsunterstützung. Wie bei anderen IDEs auch können verschiedene Konfigurationen und Make-Ziele angelegt und verwaltet werden. Als Compiler werden standardmäßig die GNU-, Cygwin- und MinGW-Compiler unterstützt. Durch den Benutzer können weitere Compiler hinzugefügt werden.
Test und Deployment
Auch für in C++ oder C geschriebene Quellen können Unit-Tests direkt aus der IDE erstellt werden. Dabei wird eine grafische Unterstützung ähnlich wie JUnit aus dem Java-SE-Paket geboten. Die kompilierte Anwendung kann automatisch im tar-, ZIP-, SVR4-, RPM- oder Debian-Format bereitgestellt werden.
Debugger
Der Debugger für C++- und C-Projekte basiert auf dem GNU Debugger, es können jedoch auch andere Debugger eingebunden werden. Es werden Mehrfach-Debugger-Sitzungen unterstützt, ebenso wie Linien- und Funktions-Breakpoints. Sämtliche Debugger-Funktionen sind in der IDE integriert.
Qt-Unterstützung
NetBeans bietet eine vollständige Unterstützung von Qt, wodurch alle Qt-Dateitypen erstellt und bearbeitet werden können (also Qt-Files, GUI-Forms, Ressourcen und Translation-Files). Die Standard-Qt-Werkzeuge wie Qt Designer, Qt Linguist oder qmake sind vollständig eingebunden.
Remote-Development
Eine Besonderheit ist die vollständige Unterstützung von Remote-Development für C++- und C-Projekte. Dies bedeutet, Projekte vollständig auf einem entfernten Rechner zu entwickeln, bauen, ausführen und debuggen. Für den Benutzer unterscheidet sich die Handhabung dieser Projekte nicht von der lokalen Entwicklung.
PHP
[Bearbeiten | Quelltext bearbeiten]Dient zur Erstellung von Web-Applikationen. Unterstützt JavaScript, CSS3 und, ab Version 7.3, auch HTML5-Syntax-Highlighting. Ebenso werden auch das Zend Framework, Symfony2 und das Symfony1-Framework unterstützt.
All
[Bearbeiten | Quelltext bearbeiten]Das Download-Paket All umfasst alle vorgestellten Download-Pakete sowie die Unterstützung für Groovy und die Entwicklung von Java-Anwendungen für mobile und eingebettete Geräte.
NetBeans IDE im Detail
[Bearbeiten | Quelltext bearbeiten]Plugins
[Bearbeiten | Quelltext bearbeiten]Es gibt eine Reihe von Erweiterungen für NetBeans, sogenannte „Plugins“, die der IDE spezielle Techniken oder Tools hinzufügen. Die kommerziellen oder freien Plugins können über die Projektseite oder direkt aus der NetBeans IDE heraus bezogen werden. Über eine einfache Funktion werden sie anschließend in die IDE integriert. Die Modularisierung der NetBeans IDE geht so weit, dass sogar das komplette Projektmanagement ausgetauscht werden kann. So ist es zum Beispiel möglich, ein Maven-Plugin zu installieren und darüber Java-Projekte zu verwalten.[8]
Debugging
[Bearbeiten | Quelltext bearbeiten]Mittels des grafischen Debuggers können Haltepunkte direkt im Quelltext (auch während der Laufzeit) aktiviert und deaktiviert werden. Haltepunkte können fest, bedingt oder signalorientiert sein. Bedingte Haltepunkte werden nur ausgeführt, wenn ein berechneter boolescher Ausdruck erfüllt ist. Signalhaltepunkte reagieren zum Beispiel auf bestimmte Ausnahmen (Exceptions) oder Einstiegs- und Ausstiegspunkte von Methoden. Außerdem beherrscht der Debugger interaktive Haltepunkte (Run to Cursor und Run to method).
Zu beobachtende Variablen können mittels Code Completion (wie im normalen Editor) eingegeben werden. Während der Laufzeit können beliebige Java-Ausdrücke berechnet werden, und Variableninhalte können zur Laufzeit geändert werden. Eine besondere Übersicht vereinfacht es, große beobachtete Arrays darzustellen. Im Quelltext kann per Tooltip der Variableninhalt angezeigt werden.
Ab dem JDK 5.0 können auch Methodenblöcke während der Laufzeit modifiziert werden.
Der Debugger ist multisession- und multithreadingfähig, das heißt, es können gleichzeitig mehrere Programme und in jedem Programm mehrere Threads überwacht werden.
GUI-Builder
[Bearbeiten | Quelltext bearbeiten]
Der Matisse-GUI-Builder ermöglicht eine grafische GUI-Gestaltung, ohne dass es nötig ist, sich mit den Eigenarten von Swing-Layoutmanagern auszukennen. Er bietet zudem einen eigenen Layoutmanager (GroupLayout), der mit Version 6 Teil der Java Platform, Standard Edition wurde, und kann das Layout in das null-Layout konvertieren. Mittels Drag & Drop können die Komponenten der Form hinzugefügt werden, wobei Ausrichtung, Größe oder andere Eigenschaften einfach anpassbar sind bzw. durch die IDE automatisch vorgegeben werden. Textelemente können direkt in dem GUI-Builder bearbeitet werden. Matisse unterstützt JavaBeans als Komponenten und Container. Alle beschreibenden Texte können internationalisiert und aus Übersetzungstabellen (Resourcedateien) eingelesen werden.
Quelltexteditor
[Bearbeiten | Quelltext bearbeiten]
Editorfunktionen
[Bearbeiten | Quelltext bearbeiten]- Javatipps, die bei der Quelltexterstellung helfen
- Komponentenpaletten zum einfachen Einfügen von Codeschnipseln (z. B. HTML, JSP oder SQL) via Drag & Drop in eine JSP- oder HTML-Seite
- Fehlermarkierung, die anzeigt, ob die Datei kompilierbar ist oder nicht, und einen Überblick über alle Fehler, Warnungen, Todos und Bookmarks im Quelltext gibt
- Umschließen eines selektierten Statements mit einem try/catch-Block
- SQL-Editor mit Syntaxhervorhebung
- einfaches Hinzufügen von XML-Dateien, wie Dokumenttypdefinitionen (DTD) und Schemata (XSD), für die Nutzung bei der Code Completion und die Validierung
- Einführung einer Möglichkeit, aus vorgegebenen Sets für Tastenkürzel oder Farbschemata (z. B. im Emacs-Stil) zu wählen oder diese nach eigenen Wünschen anzupassen
Codevervollständigung von Java-Quelltext
[Bearbeiten | Quelltext bearbeiten]Für das Vervollständigen von Klassen, Methoden und Feldern können durch die Codecompletion-Box Codeschnipsel aus folgenden Bereichen neu erzeugt werden:
- Code von konfigurierbaren Vorlagen
- Getter und Setter
- Anonyme innere Klassen
- Methodenkörper für Methoden, welche überschrieben oder implementiert werden
- try/catch-Blöcke mit passenden Exceptions
Zusätzlich kann durch die Verwendung bestimmter Abkürzungen (Camel Case Identifier) Code erzeugt werden. So kann beispielsweise die Eingabe von AIOOBE automatisch durch ArrayIndexOutOfBoundsException ersetzt werden.
Refactoring
[Bearbeiten | Quelltext bearbeiten]Der Java-Editor beherrscht folgende Refactorings inklusive Wiederherstellen und Vorschau der Ergebnisse:
- Rename – Umbenennen von Paketen, Klassen, Methoden und Variablen
- Extract Method – Quelltextabschnitte innerhalb von Methoden zu neuen Methoden extrahieren
- Change Method Parameters – Signatur einer Methode interaktiv verändern (Parameterreihenfolge ändern)
- Encapsulate Fields – Direktzugriffe auf Objektfelder in Getter- und Setter-Methoden wandeln
- Pull Up – Eine Methode in die Superklasse verschieben
- Push Down – Eine Methode in eine Subklasse verschieben
- Move Class – Eine Klasse in ein anderes Paket verschieben
- Move Inner to Outer Level – Eine innere Klasse in eine normale Klasse wandeln
- Convert Anonymous Class to Inner – Eine anonyme Klasse in eine benannte innere Klasse wandeln
- Extract Interface – Aus der Klassensignatur ein Schnittstellengerüst erzeugen
- Extract Superclass – Aus einer Klasse eine Superklasse extrahieren
- Use Supertype where Possible – Casts auf Superklassen umstellen
- Safe Delete – Testet vor dem Löschen von Feldern, Methoden und Klassen, ob Verwendungen existieren
Natürlich werden alle Referenzen im gesamten Projekt angepasst, wenn ein Refactoring durchgeführt wird. Wenn also per Change Method Parameters die Reihenfolge von Parametern geändert werden soll, wird im gesamten Quelltext jeder Aufruf entsprechend angepasst. Verschiebt man eine Klasse in ein anderes Paket, so passen sich mit dem Refactoring-Vorgang alle import-Befehle an.
Außerdem kann die Verwendung von Variablen, Parametern, Methoden und Klassen aufgelistet werden (Find usages). Mittels Fix Imports können Import-Anweisungen automatisch und interaktiv dem Quelltext hinzugefügt werden.
Zusätzliche Module erlauben das Auffinden von ungenutzten Variablen, leeren catch-Blöcken oder toten Methoden. Durch diese Module kann die bereits sehr mächtige Refactorfunktionalität von NetBeans weiter ausgebaut werden.
Das Refactoring für andere Sprachen wie C++ und C ist im Moment noch nicht so mächtig. Jedoch soll in den nächsten Versionen auch bei diesen ein vergleichbarer Funktionsumfang erreicht werden.
Profiler
[Bearbeiten | Quelltext bearbeiten]Der Profiler wird ab Version 6.0 mitgeliefert.[9]
Um eine sichere, skalierbare Anwendung zu erstellen, benötigen Java-Entwickler Informationen über das Laufzeitverhalten ihrer Anwendung. Der NetBeans-Profiler stellt diese Informationen zur Verfügung. Innovative Techniken erlauben es dem Entwickler, seine Anwendung mit wenig Aufwand zu messen. Die Ergebnisse des Profilers sind klar strukturiert und einfach zu interpretieren. Die zu messenden Anwendungen können sich auf dem lokalen oder einem entfernten System befinden.
Folgende Funktionen beherrscht der Profiler:
- Überwachung der CPU-Last, CPU-Geschwindigkeit und CPU-Ausführung
- Speicherbenutzung
- Speicherüberwachung mit Speicherlecktests
- Überwachung von nebenläufigen Prozessen (Threads) und deren Status
- Unterstützung für das JDK 1.4.2, JDK 5.0 und JDK 6.0
- Profiling von laufenden Anwendungen
- Speichern von Profiler-Abbildern für die nachträgliche Bearbeitung
- Profiling von entfernten VMs (über Netzwerkprotokolle)
Durch die Integration in die IDE erlaubt es der Profiler, Performanceprobleme und Speicherprobleme aufzuspüren.
Der Profiler basiert auf einem Forschungsprojekt der Sun Laboratories, das sich speziell mit Analysetechniken für Java-Anwendungen beschäftigt. Der Profiler nutzt diese Methoden, um zur Laufzeit dynamisch den Bytecode zu untersuchen und auszuwerten. Dadurch kann er auch komplexe und große Java-Anwendungen behandeln.
Der Profiler nutzt für eine geringe Belastung der Laufzeittests eine dynamische Laufzeit-Instrumentalisierung. Dabei bleibt das gespeicherte Programm unangetastet. Die Profiler-Marken für die statistischen Auswertungen werden vor dem Ausführen im Arbeitsspeicher hinzugefügt. Mit dynamisch ist gemeint, dass die Instrumentalisierung jederzeit aktiviert und deaktiviert werden kann, ohne eine Anwendung beenden oder neu starten zu müssen.
- Schlanker Messprozess – Durch den Profiler können gezielt einzelne Abschnitte der Anwendung gemessen werden. Die restlichen Programmteile laufen ohne Beeinflussung des Profilers. Die zu messenden Teile der Anwendung und die Untersuchungsaspekte (CPU, Speicher,… ) können zur Laufzeit geändert werden.
- Keine Beeinflussung der Programmausführung – Die Anwendung kann wie gewohnt gestartet und ausgeführt werden, ohne auf den Profiler Rücksicht zu nehmen. Der Profiler kann jederzeit zur Programmausführung hinzugeschaltet werden. Wenn der Messvorgang beendet ist, verbleiben keine Instruktionen innerhalb des Anwendungscodes.
- Aufgabenbasiertes Profiling – Das Messen des Laufzeitverhaltens einer Anwendung ist nicht einfach zu handhaben. Der NetBeans-Profiler bringt einige Vorgaben mit, die Standardaufgaben (Monitoring, Speichernutzung,…) im Profiling bereits abdecken. In diesen Voreinstellungen sind bereits die wichtigsten Konfigurationen getroffen, und es bedarf nur noch wenigen Anpassungen. Erfahrene Nutzer können selbstkonfigurierte Messungen durchführen.
Ant-Unterstützung
[Bearbeiten | Quelltext bearbeiten]Das Projektsystem basiert auf einer starken Integration von Apache-Ant-Skripten. Diese können angepasst und auch mit einem Debugger untersucht werden.
Versionskontrolle
[Bearbeiten | Quelltext bearbeiten]Durch NetBeans werden folgende Versionskontrollsysteme direkt unterstützt:[10]
- Concurrent Versions System CVS
- Apache Subversion (SVN)
- Mercurial
- Git
- ClearCase (als Plug-in)
Die Unterstützung fügt sich in den typischen Programmierworkflow ein und versteckt die abstrakte Bedienung mittels bekannter Befehle. Die IDE erkennt automatisch Arbeitsverzeichnisse und listet alle geänderten Dateien im Versioning Window auf. Die Versionsunterstützung ist ebenfalls in das Projektsystem und in die Refactoring-Funktionen integriert.
Typische Funktionen des Versionskontrollsystems sind direkt über das Kontextmenü zu erreichen. Die Verwaltung mehrerer Repositories und Branches ist auf einfache Weise möglich. Das Versioning Window zeigt einen Überblick über den Status von Dateien, Ordnern, Paketen und Projekten. Mit dem Kommando Diff können Unterschiede zwischen einzelnen Versionen angezeigt werden. Zusätzlich zum Quelltext können auch Projektmetadaten verteilt werden.
Zusätzlich zu den entfernten Versionkontrollsystemen führt NetBeans für jeden Quelltext eine sogenannte Local History. Diese erlaubt, auch ohne die Unterstützung einer Versionskontrolle Änderungen am Quelltext zu verfolgen und gegebenenfalls rückgängig zu machen.
Developer Collaboration
[Bearbeiten | Quelltext bearbeiten]Das Developer Collaboration erlaubt es Entwicklern und Programmieren, zeitgleich und in Echtzeit in einer Art Chat-Modus an einer Anwendung zu entwickeln (synchrone Collaboration). Die angemeldeten Teammitglieder können jede Änderung direkt mitverfolgen, per Chat besprechen, Code Reviews durchführen oder auch das Projekt kompilieren. Wenn ein Teamserver in NetBeans konfiguriert ist erlaubt dies zusätzlichen Informationsaustausch mit Hilfe von Trackern, Documentshares und Foren (asynchrone Collaboration).[11]
Entwicklung von NetBeans-Modulen
[Bearbeiten | Quelltext bearbeiten]Die IDE bringt Assistenten für die Entwicklung von Modulen für NetBeans IDE und anderen auf der NetBeans-Plattform basierenden Anwendungen mit. So ist es sehr einfach möglich, komplexe Fat Clients zu entwickeln, die auf der NetBeans-Plattform gründen, oder auch Befehlserweiterungen für NetBeans zu programmieren. Jeder Benutzer kann eigene Module entwickeln und diese über den NetBeans Plugin Catalogue anderen zur Verfügung stellen.[8]
Plattform
[Bearbeiten | Quelltext bearbeiten]Die NetBeans Platform ist eine Anwendungs-Laufzeitumgebung und kann als Basis für generische Desktop-Anwendungen auf Basis von Swing genutzt werden[12] (zum Beispiel die NetBeans IDE). Da die meisten Anwendungen ähnliche Anforderungen haben, wie zum Beispiel Menüs, Dokumentenmanagement, Änderungen von Einstellungen und ähnliches, stellt die NetBeans-Plattform entsprechende Funktionen zur Verfügung. Der Entwickler erzeugt den Anwendungscode als ein oder mehrere NetBeans-Module und fügt diese der Plattform hinzu. So kann der Entwickler sich auf die Programmierung der Geschäftslogik als wesentliche Aufgabe konzentrieren. Die entstehende Anwendung ist plattformunabhängig.
Einige Eigenschaften der Plattform:
- User Interface Management – Fenster, Menüs, Symbolleisten und andere Komponenten werden zur Verfügung gestellt. Wie in Swing üblich, kann die Plattform auch um eigene grafische Komponenten erweitert werden.
- Daten- und Gestaltungsmanagement – Die Plattform stellt eine große Palette an Werkzeugen zur Verfügung, mit denen Daten angezeigt und manipuliert werden können.
- Editor – Der NetBeans-Editor kann durch die Anwendung genutzt werden. Die Werkzeuge des Editors lassen sich schnell und einfach erweitern und in den Menüs passend zusammenstellen.
- Einstellungsverwaltung – Durch die NetBeans-Dateisysteminfrastruktur können abstrakte Daten verwaltet werden. Egal ob Dateien lokal vorliegen oder entfernt, via FTP, CVS oder in einer Datenbank, der Zugriff darauf ist transparent und kann durch eigenen Arten der Datenspeicherung für die Plattform ergänzt werden. Alle Anwendungen, die auf der NetBeans-Plattform erstellt wurden, sind internetfähig.
- Das Wizard Framework – Die NetBeans-Plattform bietet einfache Werkzeuge, um erweiterbare, anwenderfreundliche Assistenten zu erstellen, die den Anwender durch komplexe Sachverhalte leiten.
- Konfigurationsmanagement – Durch die NetBeans-Plattform werden sich wiederholende Aufgaben, wie der Remotedatenzugriff, das Management und die Speicherung, von Benutzerkonfigurationen übernommen. Somit besteht die Anwendung aus der Plattform und dem logischen Code, der die eigentliche Funktionalität bereitstellt.
- Speichermanagement – Das Speichermanagement beruht auf der Abstraktion eines dateibasierten Datenzugriffs. Dateien oder „Files“ sind im NetBeans-Konzept lokale Dateien, entfernte Dateien auf einem FTP-Server, in einem CVS Repository oder in einer Datenbank. Durch die Abstraktion des Datenzugriffs ist der Zugriff auf Dateien für alle anderen Module transparent, sprich diese müssen sich nicht um den eigentlichen Datenzugriff kümmern, sondern können dies über das Speichermanagementmodul der Plattform realisieren.
- Plattformunabhängigkeit – Da die Applikationsbasis, wie die NetBeans-IDE, vollständig in Java geschrieben ist, sind Anwendungen, die darauf basieren, von Natur aus nahezu unabhängig von einem Betriebssystem (soweit eine VM dafür portiert wurde). Dadurch laufen sie auf allen Systemen, die mit einer zu Java 2 kompatiblen virtuellen Maschine (1.3 und höher) ausgerüstet sind. Dies spart Entwicklungszeit und Kosten für Migrationen und erleichtert die Wartung sowie den Support für die Anwendung.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Offizielle Website (englisch)
- Netbeans Wiki (englisch)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Apache NetBeans 26. 20. Mai 2025 (abgerufen am 21. Mai 2025).
- ↑ „Dual Licensing NetBeans IDE 6.0 under the CDDL and GPLv2 with Claspath Exception“ ( des vom 24. Februar 2007 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Paul Krill: NetBeans to pick up where Sun Java Studio leaves off. 11. Dezember 2007, abgerufen am 6. Oktober 2019 (englisch).
- ↑ NetBeans Incubation Status - Apache Incubator. Abgerufen am 6. Oktober 2019.
- ↑ Apache NetBeans (incubating) 9.0 Released. Abgerufen am 1. November 2019.
- ↑ The Apache Software Foundation Announces Apache NetBeans as a Top-Level Project. Abgerufen am 1. November 2019.
- ↑ Apache NetBeans 11.1 Features. Abgerufen am 6. Oktober 2019.
- ↑ a b Apache NetBeans Plugin Portal. Abgerufen am 28. Januar 2024.
- ↑ Introduction to Profiling Java Applications in NetBeans IDE. Abgerufen am 28. Januar 2024.
- ↑ Source Code Management. In: NetBeans IDE Tutorials. Apache Software Foundation, abgerufen am 28. Januar 2024.
- ↑ Working With a Team Server in NetBeans IDE. Abgerufen am 28. Januar 2024.
- ↑ NetBeans Platform Quick Start. Abgerufen am 28. Januar 2024.