- JAVA-A5 | Overview
- Administration | JAVA Administration
- Administration | JAVA Installation
- Administration | OpenJDK
- Administration | GraalVM
- Administration | Eclipse IDE installieren
- Administration | NetBeans IDE
- Administration | IntelliJ
- Administration | NetBeans IDE
- Administration | Java Version History
- Administration | Java Commandline Parameter
Overview
JAVA-A5 | Overview
Im Abschnitt JAVA-AX befassen wir uns mit der Übersichtung, Dokumentation
und examplischen Nutzung einer Reihe von Java Klassen, darunter
den ArgumentInterpreter mit dessen Hilfe
die Auswertung von Parametern auf der Kommandozeile auch mit
komplexeren Parametern und Hilfsfunktion ausgewertet werden können.
Die Klassen und zugehörigen Packages dieses Abschnitts dienen im Schwerpunkt dazu, Einsteigern eine gewisse Mindestfunktionalität für zu ermöglichen, ohne im selbst lernen oder verstehen zu müssen, wie man diese Funktionalität programmiert.
JAVA Administration
Administration | JAVA Administration
Rund um die Programmiersprache JAVA gibt es eine Reihe administrativer Tätigkeiten von der Installation des JDK und einer JRE über Entwicklungsumgebungen oder auch Buildtools, Test-Container und vieles andere mehr.
Der primäre Sinn und Zweck dieser Themenblocks besteht darin, einen Grundstock von Programmen zu installieren, um erste JAVA Anwendungen innerhalb einer IDE schreiben, kompilieren, ausführen oder auch außerhalb über die Kommandozeile starten zu können.
JAVA Installation
Administration | JAVA Installation
Um JAVA Anwendungen als Programm ausführen zu können, müssen Sie diese zuerst in Java-Syntax in *.java-Files programmieren und anschließend mit einem Java Developmenet Kit, kurz JDK, in den Java Byte Code einer Zwischensprache kompilieren, um *.class Files erhalten zu können. Für die Ausführung des Programms benötigen Sie eine Java Runtime Environment JRE.
Mit dem Wechsel von Java 8 und zu Java 9 zwischen 2015 und 2018 hat Oracle als Hersteller sowohl der Java-Technologien als auch der Java-Programmiersprache einige Änderungen vorgenommen. Dieses führt dazu, dass sich ein paar Lizenzbedindungen sowie auch Quellen mancher Packages von Java verändert haben.
OpenJDK
Administration | OpenJDK
Für das JDK gibt es zwei Versionen Oracle: Das lizenzpflichtige, kostenpflichtige Oracle JDK, für welches Unternehmen dann aber auch Support von Oracle bekommen, und das alterantive OpenJDK Version Oracle welches in vollem Umfang kostenfrei verwendet werden kann.
http://openjdk.com
Das OpenJDK schließt neben dem JDK auch gleich eine JRE als Java Runtime Environtment ein, so dass man über das JDK den Programmcode kompilieren und über die Runtime im /bin Ordner auch ausführen kann.
Sie sollten Java installieren bevor Sie eine Entwicklungsumgebung/IDE installieren. Das hat damit zu tun, dass Sie für die Entwicklungsumgebung wie im Falle NetBeans wiederum Java benötigen werden, weil die Entwicklungsumgebungen wie NetBeans und Eclipse selbst in Java entwickelt wurden.
GraalVM
Administration | GraalVM
Die GraalVM, von Oracle ab 2019 als neue polyglotte Virtual Machine VM ebenso in einer kostenpflichtigen und einer freien Version veröffentlicht, ermöglicht die Ausführung von sowohl Java, JavaScript, C++ und weiteren Programmieresprachen sowie mitunter auch inklusive Unterstützung für NodeJS Packages innerhalb der GraalVM.
Dieses Verfahren besticht dadurch, dass JavaScript Code zur Laufzeit Java-Klassen verwenden kann und umgekehrt. Dieses führt mitunter zu der Besonderheit, dass JavaScript Code innerhalb der GraalVM tatsächlich multithreading-fähig wird. Der praktische Nebenaspekt besteht darin, dass JavaScript zur Laufzeit nachgeladen werden und als Skript interpretiert werden kann, also nicht wie Java bei Änderungen neu kompiliert werden muss.
http://graalvm.org
Eclipse IDE
Administration | Eclipse IDE installieren
Zu den beliebtesten kostenfreien Open-Source-IDEs zählt mitunter die Eclipse IDE von der Eclipse Foundation. Diese Organisation hat auch die Java EE Enterprise Edition Pakete zur weiteren Entwicklung übernommen, wobei aus nahmensrechtlichen Gründen der statt des Markennamens Java die Bezeichnung «Jakarta» verwendet wird.
Hinweis: Für die Eclipse IDE gibt es eine Vielzahl von Erweiterungen. Wer nicht nur Java sondern auch gleich noch HTML, CSS, JavaScript programmieren will/muss, wird sich weitere Erweiterungen suchen.
Eclipse verwendet für die eigentliche IDE selbst Java in einer eigenen Version. Um eigene Java Programme kompilieren und ausführen zu können, konfiguriert man dahingehend das Verzeichnis in dem sich JDK und JRE befinden. Mit dem Ansatz kann man auch für verschiedene JDK/JRE Versionen entwickeln.
http://eclipse.org
NetBeans IDE
Administration | NetBeans IDE
Die NetBeans IDE stammt ursprünglich von Oracle, ist auch in Java programmiert, und galt über Jahre als einfacher und verlässlicher für Einsteiger. Die NetBeans IDE eignet sich über Java hinaus auch für die Programmierung von JavaScript, PHP, HTML, CSS, NodeJS und viele weitere Sprachen.
Die weitere Pflege von NetBeans wurde in 2018 von Oracle an die Apache Foundation als Incubator Project übergeben und seit dieser Zeit nach einer kurzen Zwischenphase der Projektübergabe konsequent weiterentwickelt.
http://netbeans.apache.org
IntelliJ
Administration | IntelliJ
Auf IntelliJ gehen wir, auch wenn es einen abgespeckte kostenfreie Variante gibt, nicht ein.
GraalVM
Administration | NetBeans IDE
Auch wenn es vermutlich noch immer Menschen geben wird, die wie in der digitalen Steinzeit Mitte der 1990er Jahre den Programmcode auch ohne eine Integrated Development Environtment IDE als Entwicklungsumgebung programmieren werden, weil nicht zuletzt Java inzwischen auch als Skriptsprache ausgeführt werden kann, werden dennoch die meisten Entwickler eine IDE installieren.
Zu den beliebtesten kostenfreien Open-Source-IDEs zählt mitunter die Eclipse IDE von der Eclipse Foundation. Diese Organisation hat auch die Java EE Enterprise Edition Pakete zur weiteren Entwicklung übernommen, wobei aus nahmensrechtlichen Gründen der statt des Markennamens Java die Bezeichnung «Jakarta» verwendet wird.
http://eclipse.org
Hinweis: Für die Eclipse IDE gibt es eine Vielzahl von Erweiterungen. Wer nicht nur Java sondern auch gleich noch HTML, CSS, JavaScript programmieren will/muss, wird sich weitere Erweiterungen suchen.
Java Version History
Administration | Java Version History
JAVA wird seit 1995 beginnend mit Version Java 1 konsequent weiterentwickelt. Ein Meilenstein war einst J2EE mit der Java 1.2 Enterprise Edition. Zwischen Java 1.8 als Java 8 und Java 9 als Java 9 änderte sich nicht nur die Art der Nummierung sondern auch die Lizenz- und Paketstruktur. Desweiteren kamen mit Java 8 nochmals eine Vielzahl von Neuerungen hinzu. Seit 2018 veröffentlich Oracle jedes Jahr zwei neue Versionen.
Die Trennung zwischen der Java SE Standard Edition und der JAVA EE Enterprise Edition ist mit der Übertragung von Java EE Packages an die Eclipse Foundation, welche das unter dem Namen Jakarta EE fortführt, aufgehoben. Es gibt damit nur noch einen JAVA Standard mit LTS Versionen.
https://openjdk.com
Hinweis: Für die Eclipse IDE gibt es eine Vielzahl von Erweiterungen. Wer nicht nur Java sondern auch gleich noch HTML, CSS, JavaScript programmieren will/muss, wird sich weitere Erweiterungen suchen.
Java Commandline Parameter
Administration | Java Commandline Parameter
Während der Start eines JAVA Programms innerhalb einer Entwicklungsumgebung wie der Eclipse IDE im Prinzip nur den Druck eines Buttons erfordert, kann die Ausführung einer Anwendung über die Kommandozeile etwas kompliziert werden. So muss man Parameter für den Classpath oder auch JARs angeben
Ohne in alle Details gehen zu wollen, gibt es ein paar Dinge, die man wissen sollte:
Zur Ausführung wird der java meinProgramm
Befehl ausgeführt. Im Regelfall scheitert der Befehl allerdings,
weil man die Java Runtime korrekt adressieren muss, den Ort
des Wurzelverzeichnis, in welchem das Package oder JAR
des Programms liegt, die Angabe des korrekten Programmnamens
wie z. B. com.example.MeinProgramm. Hinzu kommen noch
diverse weitere Angaben.
Hinweis: Der Befehl wird in einer Kommandozeile eingegeben. Aus Layout-Gründen und zum besseren Verständnis wurden Zeilenumbrüche ermöglicht und die Verzeichnispfade verkürzt.
C:\Users\benutzername\.....\jre\bin\javaw.exe -Dfile.encoding=UTF-8 -classpath "C:\...\meine-java-files\MeinJavaProjekt\build\classes; C:\...\Datenbanktreiber\mariadb-java-client-3.5.3.jar; C:\...\AndereJARs\jsoup-1.21.1.jar; C:\...\AndereJARs\jsoup-1.21.1-javadoc.jar; C:\...\AndereJARs\jsoup-1.21.1-sources.jar" -XX:+ShowCodeDetailsInExceptionMessages com.stuelken.commons.documentation.DocReflector
Die Verzeichnisstruktur, in welcher sich die kompilierten *.class Files befinden, entspricht exakt der Package-Struktur und damit auch der Ordner-Struktur mit *.java Quellcode-Files.
Nun werden die kompilierten Files aber üblicherweise in JAR Files verpackt, dh. quasi einem zip-Folder. Innerhalb eines jeden JAR Files gibt es wiederum die selbe hierarchische Package-Struktur. Da die JAR-Files aber an beliebigen Orten auf der Festplatte liegen dürfen, muss man beim Start einer Java-Anwendungen angeben, wo die Runtime entsprechende JARs suchen soll.
Es kommt hinzu, dass Java Anwendungen auch kompilierten Bytecode zur Laufzeit noch nachladen können über den sogenannten ClassLoader.
Eine besondere Komplexität ist mit der Einführung von Java Modulen hinzugekommen, in deren Folge Klassen zwar noch in Packages liegen, diese Packages aber inzwischen auf Module verteilt wurden.
Man muss also nicht nur den Classpath für Packages adressieren sondern mittlerweise auch die entsprechenden Module angeben.
Ein einfacher Trick besteht mitunter darin, sich innerhalb der IDE, in welcher eine JAVA Anwendung erfolgreich ausgeführt wurde, den zugehörigen Befehl für die Ausführung anzeigen zu lassen.
FootNotes, Keywords, Tags
Hinweise, Rechte, Marken
UIO3 Es ist einfacher als Du denkst.
Stelle noch heute Deine Anfrage.

