Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Java ist eine Umgebung mit deren Hilfe Programme ausgeführt werden können, unabhängig vom verwendeten Betriebssystem.
    Hierzu wird ein sogenanntes "Java Runtime Environment (JRE)" benötigt.
    Lediglich zur Entwicklung eines Java-Programms wird das "Java Development Kit (JDK)" benötigt.
  • Die hier gezeigten Infos beruhen auf der Java-Version 8.x
  • Als Betriebssystem verwende ich das Apple Betriebssystem macOS Sierra (10.12)
    Mit leichten Änderungen sind diese Informationen aber auch auf allen anderen Plattformen verwendbar. 
  • Das fertige Programm wird in eine sogenannte jar-Datei erstellt.
    "jar"-Dateien sind nichts anderes als komprimierte zip-Dateien bei denen der Name auf ".jar" geändert wurde.
    Dadurch wird es möglich Programme bereitzustellen die aus mehr als 1 Datei bestehen. 
  • Bitte berücksichtigen, dass viele Angaben (u.a. die Klassennamen) case-sensitiv sind.
    d.h. es werden Groß- und Kleinbuchstaben unterschieden !!!
    HelloWorld ist nicht gleich helloworld. 

Installation Java Development Kit (JDK)

...

Code Block
languagebash
title$HOME/.profile
#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

...

Code Block
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$

Quelltext zu HelloWorld.java

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 ...

Code Block
languagejava
titleHelloWorld.java
public class HelloWorld {
   public static void main(String[] args) {
      // Prints "Hello, World" in the terminal window.
      System.out.println("Hello, World");
   }
}

Java-Programm compilieren

Code Block
#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$

Java-Programm ausführen

Bei einfachen Programmen kann man nun bereits ausführen.

Code Block
My-MBP:helloworld dk$ java HelloWorld
Hello, World
My-MBP:helloworld dk$


Bei größeren Programmen sollte man eine jar-Datei erzeugen

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 

Code Block
titlemanifest.mf
Manifest-Version: 1.0
Codebase: localhost
Permissions: sandbox
Application-Name: Hello World App
Entry-Point: HelloWorld
Main-Class: HelloWorld
Code Block
languagebash
titlejar-Datei erzeugen
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$

jar-Datei ausführen

Code Block
My-MBP:helloworld dk$ java -jar HelloWorld.jar
Hello, World
My-MBP:helloworld dk$