Inpakken

Doel

Deze opdracht leert je hoe je een uitvoerbaar jar-bestand maakt van je code. Je zult je TalkingParrot "Hallo wereld!" laten zeggen buiten BlueJ.

Aan de slag

1. Een main-methode toevoegen

Om een Java applicatie op te starten heb je een main-methode nodig. Dit is een methode met specifieke eigenschappen dat door Java herkend wordt als vertrekpunt van je applicatie. In de opdracht "Hallo wereld!" heb je geleerd hoe je een methode aanmaakt. We zullen nu een nieuwe methode aan de klasse TalkingParrot toevoegen: de main-methode. Een main-methode moet er altijd als volgt uitzien:

MAIN-METHODE

public static void main(String[] args) { // eerste statements van je applicatie}

Even alles wat je ziet op een rijtje:

    • public: dit ken je al, alle klassen mogen de methode aanroepen.
    • static: wil zeggen dat je deze methode niet op het object aanroept, maar op de klasse. Als je main wilt aanroepen vanuit BlueJ rechtsklik je dus de klasse in plaats van de instantie "coco".
    • void: ook hiermee heb je al kennis gemaakt, deze methode geeft geen waarde terug.
    • main: de naam van de methode. Een methode met de naam main en alle andere kenmerken hier vermeld maken van de methode een vertrekpunt van je applicatie
    • String[] args: deze methode heeft één parameter van het type String[] met de naam args. Meer hierover in de opdracht "Materialen".

Goed, nu moeten we de methode sayHelloWorld() aanroepen. Gemakkelijk, zeg je, gewoon sayHelloWorld(); typen in de main-methode. Jammer genoeg is het niet zo eenvoudig. Als je op compile klikt, zie je volgende foutmelding:

2. Een nieuw object maken

Zoals eerder vermeld is de main-methode static, wat wil zeggen dat je geen object van het type TalkingParrot hebt in de main-methode. Daarom moet je er eerst één maken, en dat doe je zo:

NIEUW OBJECT

public static void main(String[] args) { TalkingParrot coco = new TalkingParrot();}

"new TalkingParrot()" maakt een nieuw object van het type TalkingParrot aan. Deze wordt vervolgens toegekend aan de variabele "coco". Dit is trouwens net hetzelfde als rechtsklikken op je klasse in BlueJ en je object creëren met de naam "coco". Nu moeten we coco alleen nog "Hallo wereld!" laten zeggen:

METHODE AANROEPEN

public static void main(String[] args) { TalkingParrot coco = new TalkingParrot(); coco.sayHelloWorld();}

Je kunt eens testen of je applicatie werkt door te compileren en de main-methode aan te roepen op de klasse TalkingParrot:

Je krijgt nu een venster te zien je parameters vraagt voor de aanroep van main. Maar die hebben we niet nodig, dus klik gewoon OK. Als alles goed is zie je nu een venster met de tekst "Hallo wereld!".

3. Een jar-bestand maken

Een jar-bestand maken met BlueJ is heel eenvoudig: Kies "Create Jar File..." uit het menu "Project".

Vervolgens kies je de klasse TalkingParrot als main class:

Klik op continue, kies een locatie om de jar op te slaan en klaar!

4. Een jar-bestand uitvoeren

Hiervoor heb je een Java Runtime Environment (JRE) nodig. Controleer of er een JRE aanwezig is op je computer. Start een terminalvenster op. Dit doe je als volgt:

Windows: Druk op de Windows-toets en typ "cmd", druk vervolgens op ENTER.

Mac OS X: Hou de cmd-toets ingedrukt en druk op SPATIE. Typ "term". Kies "Terminal" uit de resultaten.

In het terminal-venster:

    1. Typ "java -version"
    2. Zie je iets dat hierop lijkt, dan heb je een JRE op je systeem:

JAVA -VERSION

java version "1.7.0_45"

Java(TM) SE Runtime Environment (build 1.7.0_45-b18)

Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

Krijg je een foutbericht, dan moet je eerst een JRE installeren. Deze kan je downloaden van http://java.com/nl/download/. Sluit na de installatie van de JRE je terminalvenster en open een nieuw en probeer opnieuw "java -version".

Navigeer nu naar de directory waar de jar is opgeslagen.

Windows

    • "dir" toont de bestanden in de huidige directory
    • "cd .." neemt je een niveau hogerop
    • "cd directorynaam" gaat in de directory met naam "directorynaam"

Mac OS X

    • "ls" toont de bestanden in de huidige directory
    • "cd .." neemt je een niveau hogerop
    • "cd directorynaam" gaat in de directory met naam "directorynaam"

Ben je in de directory aanbeland waar de jar is opgeslagen dan kun je hem uitvoeren:

JAR UITVOEREN

java -jar hello-java.jar

Proficiat! Je hebt net je eerste Java applicatie ingepakt en uitgevoerd!