Java/de

Java ist Sun Microsystems entwickelte Programmiersprache]], die eine Laufzeitumgebung verwendet, um die Ausführung von in Java entwickelten Anwendungen auf verschiedenen Plattformen zu ermöglichen. Es ist eine beliebte Wahl für Entwickler, die plattformübergreifende Anwendungen erstellen wollen.

Übersicht
Java ist eine Programmiersprache die von Sun Microsystems entwickelt wurde. Die Sprache ist objektorientiert. Javaprogramme sind auf verschiedenen Platformen lauffähig, ohne das sie neu kompiliert werden müssen. Es ist zwar möglich Javacode für spezielle Platformen zu kompilieren, aber gerade die Portabilität ist, neben etwa der automatischen Speicherverwaltung, ein Grund für Javas Popularität. Um die Platformunabhängigkeit zu gewährleisten, erstellt der Javacompiler sogenannten "Java Bytecode". Dies ist eine Zwischenstufe zwischen Quelltext und ausführbarem Binärformat. Dieser Bytecode wird nicht direkt vom Betriebssystem sondern in einer JVM (Java Virtual Machine) ausgeführt.

Um Java Bytecode auszuführen, muss ein JRE (Java Runtime Environment) installiert sein. Dies stellt die nötigen Bibliotheken sowie die platformabhängige JVM bereit. Ein JDK (Java Development Kit) enthält zusätzliche Entwicklungswerkzeuge, etwa einen Java Bytecode Compiler und einen Debugger.

JVM-Sprachen
Die Java Virtual Machine wird nicht ausschließlich von der Java Programmiersprache verwendet. Mehrere Programmiersprachen verwenden die Java-Plattform und laufen auf der JVM. Beispiele für solche Sprachen sind: Clojure, Apache Groovy, Kotlin oder Scala.

Die Auswahl
Gentoo bietet viele verschiedene Java Laufzeitumgebungen (JREs) und Java Development Kits (JDKs) an. Unter anderem sind dies:

Ein JRE/JDK installieren
Um das Standard JDK des Profils zu installieren, führen Sie dies aus:

Um die Standard JRE des Profils zu installieren, führen Sie dies aus:

Einrichten eines Headless JRE
Manchmal besteht kein Bedarf an einem vollständigen JRE mit allen Funktionen von Java. Die Verwendung von Java auf einem Server erfordert oft keine GUI-, Grafik-, Sound- oder sogar Drucker bezogenen Funktionen. Um eine vereinfachte (manchmal auch als headless bezeichnete) JRE zu installieren, müssen einige USE-Flags für die ausgewählte JRE-Variante geändert werden.

Abhängig vom aktuellen Gentoo-Profil könnte dies bereits der Fall sein. Wie üblich können die USE-Flag-Einstellungen, die für ein bestimmtes Paket gelten, überprüft werden, indem man im Pretend-Modus ausführt:

Übersicht
Gentoo bietet die Möglichkeit mehrere JDKs oder JREs parallel zu benutzen.

Setzen der Standard virtuellen Maschine
Wenn Sie den Befehl mit der Option   ausführen, erhalten Sie eine Liste aller auf dem System installierten JREs und JDKs. Hier ist ein Beispiel für die Ausgabe:

Der * markiert die aktuelle JVM (Systemweit oder für den Benutzer, falls gesetzt). Der Name in eckigen Klammern ist das Handle der entsprechenden VM. Mit und dem Handle oder der ID kann die aktuelle VM gesetzt werden. Hier ist ein Beispiel:

Alternative Methode: Auswahl der VM nach der Nummer des Handles:

.

Setzen des standard Klassenpfads, CLASSPATH
kann benutzt werden um einen systemweiten standard CLASSPATH sowie einen benutzerspezifischen standard CLASSPATH zu setzten.

Zuerst werden die auf dem System installierten Java-Bibliotheken aufgelistet, um sie möglicherweise in die Variable CLASSPATH aufzunehmen. Hier ist ein Beispiel für die Ausgabe:

Hier sind die Namen in eckigen Klammern die IDs oder Handles die an übergeben werden können. Hier ist ein Beispiel:

Aktualisieren Sie die Umgebung, indem Sie sich aus- und wieder einloggen oder indem Sie eingeben.

Für Benutzer erstellt die Datei. Diese sollte dann vom Shell-Profil gesourced werden.

Wenn Sie einen systemweiten oder benutzerdefinierten Klassenpfad wünschen, fügen Sie etwas wie das Folgende zum Profil der Shell hinzu. Hiervon wird abgeraten:

Java Browser Plugins
For those who need a Java-enabled browser for a specific use case, there is e.g. /  available in the   overlay, which has long-term support for NPAPI and thus Java plugins up to JDK 8.

Setzen der USE-Flags
Für mehr Informationen über USE-Flags sei auf das USE-Flag Kapitel im Gentoo-Handbuch verwiesen.

USE-Flags

 * Der Flag fügt Unterstützung für Java in einer Vielzahl von Programmen hinzu;
 * Der Flaf fügt Unterstützung für Mozilla-ähnliche Browser (einschließlich Firefox) hinzu. Dies ist für die Anzeige von Java-Applets in einem Mozilla-ähnlichen Browser erforderlich;
 * Der Flag fügt Unterstützung für die Java Cryptography Engine hinzu;

Following USE flags go in JAVA_PKG_IUSE, see for details and other specific USE flags of Java:


 * The flag installs a zip of the source code of a package. This is traditionally used for IDEs to 'attach' source to the libraries that are being use;
 * For Java packages, the flag will build API documentation using javadoc.

Minecraft launcher errors

 * A specific error in which  crashed after a few seconds, throwing "Alarm" and "SaveToBuffer failed" error was solved by setting  the USE flag   for.


 * When executing  the following error was produced:

This was solved by executing  with the following option:

Siehe auch

 * Java Developer Guide
 * Project:Java/Why_build_from_source
 * Project:Java/Getting_Involved

Externe Ressourcen

 * Die gentoo-java, gentoo-user, und gentoo-dev Mailinglisten-Archive
 * und über IRC
 * Java 7 and bootstrapping icedtea im Gentoo Forum

Weitere Informationen können offline abgerufen werden:



Wenn Sie Vorschläge oder Fragen zu diesem Dokument haben, senden Sie bitte eine E-Mail an das Gentoo Java Team: