uio--WebPageMain-Module

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

    UI ORGANIZED.

    UIO3 Es ist einfacher als Du denkst.

    Stelle noch heute Deine Anfrage.

    uio--WebPageFooter-Module