Jar Files [] (Jar Files), notes, Seite 722256
https://www.purl.org/stefan_ram/pub/jar (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Ausführbare JAR -Dateien

Eine JAR-Datei enthält eine Sammlung von Klassendateien.

Verwenden einer JAR -Datei als Bibliothek

Kommandozeilen (Windows)

javac -cp ".;lib.jar" Main.java

java -cp ".;lib.jar" Main

Kommandozeilen (Linux)

javac -cp ".:lib.jar" Main.java

java -cp ".:lib.jar" Main

zB JFugue:

Aussprachehinweis
fugue fjuːg (d)

Main.cmd (Windows)

"C:\Program Files\Java\jdk1.7.0\bin\javac.exe" -cp "jfugue-5.0.1.jar;." Main.java
"C:\Program Files\Java\jdk1.7.0\bin\java.exe" -cp "jfugue-5.0.1.jar;." Main
PAUSE

Main.java

public class Main 
{ public static void main( final java.lang.String[] args )
{ new org.jfugue.player.Player().play( "C D E F G A B" ); }}

jre/lib/ext

Klassen und Jar-Dateien können auch in das Verzeichnis »jre/lib/ext« bewegt werden. Dies ist aber fragwürdig, da dort installierte Bibliotheken, dann von allen Programm gefunden werden, auch Programmen, welche durch diese Bibliotheken gestört werden oder andere Versionen dieser Bibliotheken benötigen.

Erzeugen der JAR -Datei

In einem Manifest kann festgelegt werden, welche Klasse beim Starten der JAR-Datei ausgeführt werden soll.

Erzeugen einer ausführbaren JAR -Datei aus Klassen mit Windows -Kommandos:

Main.bat
echo Main-Class: Main>Main.txt 
jar cvfm Main.jar Main.txt *.class

Starten einer JAR -Datei auf der Kommmandozeile

Hierbei kann ausgewählt werden von welcher Class die main-Methode gestartet wird.

java -cp Main.jar package.Class

Daneben kann eine ausführbare jar-Datei mit der Option »-jar« auch ohne Angabe einer Klasse mit der Klasse aus dem Manifest gestartet werden

java -jar Main.jar

Starten einer JAR -Datei durch Doppelklicken

Falls ein Programm später durch Doppelklicken gestartetet wird, wird keine Konsole geöffnet. Diese Art des Starts ist daher nur für GUI-Programme (mit JavaFX) sinnvoll.

Die folgende Registrierungsdatei erlaubt es ein JAR-Archiv unter Windows durch Doppelklicken zu öffnen. Sie braucht nur dann zusammengeführt zu werden, wenn Java  nicht auf normalem Wege installiert wurde oder die Installation beschädigt ist. Dabei ist der fettgedruckte Pfadteil durch den Pfad zu dem gewünschten Programm »javaw« zu ersetzen. Dabei sind in dem Pfad vorhandene inverse Schrägstriche durch zwei inverse Schrägstriche zu ersetzen, wenn sie in die REGEDIT4 -Datei geschrieben werden sollen.

Solche Registrierungsdateien sollten nur von Personen mit guten Windows -Kenntnissen verwendet werden, da Fehler eine Windows -Installation beschädigen können.

Main.reg
REGEDIT4 
 
[HKEY_CLASSES_ROOT\.jar] 
@="jarfile" 
 
[HKEY_CLASSES_ROOT\jarfile] 
@="Executable Jar File" 
 
[HKEY_CLASSES_ROOT\jarfile\shell] 
 
[HKEY_CLASSES_ROOT\jarfile\shell\open] 
 
[HKEY_CLASSES_ROOT\jarfile\shell\open\command] 
@="\"C:\\Programm Files\\Java\\jre1.8.0\\bin\\javaw.exe\" -jar \"%1\" %*"

Signieren

Bekannte Bibliotheken

JUnit Unit-Tests

Log4J Logging

SWT Graphische Benutzeroberfläche (von Eclipse), Alternative zu JavaFX

iText PDF-Manipulation

Hibernate Datenbankzugriffe mit O/R-Verbindung

Apache Jakarta Commons Diverses

Derby Datenbank (gehört zum JDK, aber nicht zum JRE)

POI MS-Office-Datei-Zugriffe

Guave Behälter für elementare Typen

AntLR Parsing

TagSoup/JSoup Fehlertolerante HTML/XML-Parser

XStream POJO-XML-Serialisierung und -Deserialisierung

Bouncycastle Verschlüsselung

Spring, Struts, Tapestry, JGoodies, hsqldb, dbo4 (O/R), Joda-Time, Lucene / Apache Tika / Apache Solr (fulltext), JFreeCharts / charts4J / JGraph, SwingX, Jetty (server), JDOM/DOM4J, Selenium, JAI (images), Velocity (templating), jXLS (templating), ASM / CGLIB / bcel, Jackson (JSON), httpclient / Flying Saucer, JHotDraw, BeanShell, Batik, Castor, Torque, … http://jarfiles.pandaidea.com/list

Einige andere Bibliotheken

libGDX

Repositories (Maven und Gradle)

Maven und Gradle sind Programme zum Erstellen von Java-Anwendungen mit verschiedenen Bibliotheken.

Sie verwenden Sammlungen (repositories) von Bibliotheken in verschiedenen Versionen auf Rechnern mit Internetzugang, so daß beim Erstellen eines Programms, die benötigen Bibliotheken automatisch abgerufen werden können.

Vorteile:

Eventuelle Probleme:

Kritik an Bibliotheken („APIs“)

Übungsaufgaben

Falls Sie mit Eclipse arbeiten: Können Sie herausfinden, wie Sie ein jar-Archive unter Eclipse verwenden können?

Pfad zur ausgeführten Jar-Datei *

new java.io.File

( SomeClassInTheJar.class.getProtectionDomain()

.getCodeSource()

.getLocation()

.getPath() ).getName()

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722256 stefan_ram:722256 Jar Files Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722256, slrprddef722256, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/jar