Download für das jeweilige Betriebssystem:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(im hier verwendeten Beispiel für macOS)
Nach der Installation ist es nicht auf den ersten Blick ersichtlich in welchem Pfad Java installiert wurde.
Die Pfadangaben sind aber wichtig um die Konfiguration abzuschließen.
Unter macOS findet man ein Script das den gewünschten Pfad liefert:
My-MBP:~ dk$ /usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home My-MBP:~ dk$ |
Diese Pfadangabe in die entsprechenden Scripte einsetzen:
#Die Ausgabe des Befehls java_home in die Umgebungsvariable JAVA_HOME setzen export JAVA_HOME=`/usr/libexec/java_home` #Die Variable CLASSPATH gibt an in welchen Verzeichnissen nach JAVA-Programmen (.class Dateien) gesucht wird. #Hier muss auch immer das aktuelle Verzeichnis "." enthalten sein. export CLASSPATH=".:$JAVA_HOME/lib" #Durch das setzen des Pfades auf JAVA_HOME/bin wird gewährleistet, dass auch die Tools aus dem JDK verwendet werden #und nicht die Programme anderer JAVA-Installationen auf dem Rechner export PATH=$JAVA_HOME/bin:$PATH |
Die Anpassungen der Umgebungsvariablen werden erst nach dem nächsten öffnen eines Terminals wirksam oder wenn man in einer laufenden Terminal-Sitzung den folgenden Befehl ausführt.
My-MBP:~ dk$ cd My-MBP:~ dk$ . ./.profile #Testen ob auch die richtigen Programme gefunden werden. My-MBP:~ dk$ type java java is /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java My-MBP:~ dk$ type javac javac is /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/javac My-MBP:~ dk$ |
Wichtig: Der Name der Datei muss dem Klassennamen entsprechen.
Klassenname "HelloWorld" ==> Datei HelloWorld.java
Das Programm hat nur eine einfache Funktion, den Text "Hello, World" auszugeben ...
public class HelloWorld { public static void main(String[] args) { // Prints "Hello, World" in the terminal window. System.out.println("Hello, World"); } } |
#Zu den Parametern: # -g:none ==> Keine Debuginformationen in die class-Datei aufnehmen # -target 1.8 ==> Die class-Datei wird speziell für die Java-Version 8 erzeugt My-MBP:helloworld dk$ javac -g:none -target 1.8 HelloWorld.java My-MBP:helloworld dk$ |
Bei einfachen Programmen kann man nun bereits ausführen.
My-MBP:helloworld dk$ java HelloWorld Hello, World My-MBP:helloworld dk$ |
Bei größeren Programmen sollte man eine jar-Datei erzeugen
Um eine jar-Datei zu erzeugen muss man den Inhalt der Datei über eine sogenannte manifest-Datei beschreiben.
U.a. geht es darum den Einstiegspunkt zu finden an dem die Programmausführung beginnt.
Beispiel für eine manifest-Datei
Manifest-Version: 1.0 Codebase: localhost Permissions: sandbox Application-Name: Hello World App Entry-Point: HelloWorld Main-Class: HelloWorld |
My-MBP:helloworld dk$ jar cvmf manifest.mf HelloWorld.jar HelloWorld.class Manifest wurde hinzugefügt HelloWorld.class wird hinzugefügt(ein = 341) (aus = 239)(29 % verkleinert) My-MBP:helloworld dk$ |
My-MBP:helloworld dk$ java -jar HelloWorld.jar Hello, World My-MBP:helloworld dk$ |