...
- 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 |
---|
language | bash |
---|
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 |
---|
language | java |
---|
title | HelloWorld.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 |
---|
|
Manifest-Version: 1.0
Codebase: localhost
Permissions: sandbox
Application-Name: Hello World App
Entry-Point: HelloWorld
Main-Class: HelloWorld |
Code Block |
---|
language | bash |
---|
title | jar-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$ |