diff options
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100323.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100323.html | 297 |
1 files changed, 297 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100323.html b/Master/Reference Architectures and Patterns/hjp5/html/k100323.html new file mode 100644 index 0000000..02d6367 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100323.html @@ -0,0 +1,297 @@ +<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100317.html;106,k100322.html;107,k100324.html;108,index.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100317.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100322.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100324.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">Kapitel 51 - Hilfsprogramme des JDK
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="jarwerkzeug"></a>
+<h2>51.6 jar - Das <a name="ixa103778">Archivierungswerkzeug</a> <a name="ixa103779"></a>
+</h2>
+<hr>
+<ul>
+<li><a href="k100323.html#jarwerkzeug">51.6 jar - Das Archivierungswerkzeug </a>
+<ul>
+<li><a href="k100323.html#sectlevel3id051006001">51.6.1 Aufruf</a>
+<li><a href="k100323.html#sectlevel3id051006002">51.6.2 Beschreibung</a>
+<li><a href="k100323.html#sectlevel3id051006003">51.6.3 Kommandos</a>
+<li><a href="k100323.html#sectlevel3id051006004">51.6.4 Verwendung von jar-Dateien in Applets</a>
+</ul>
+</ul>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel3id051006001"></a>
+<h3>51.6.1 Aufruf </h3>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+jar [ commands ] archive { input-file }
+</pre>
+</font>
+</td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel3id051006002"></a>
+<h3>51.6.2 Beschreibung </h3>
+
+<p>
+<a name="ixa103780"><a href="index_j.html#ixb100146"><font color=#000080><tt>jar</tt></font></a></a>
+ist ein Archivierungsprogramm, das Dateien und komplette Unterverzeichnisse
+komprimieren und in eine gemeinsame Archivdatei packen kann. Es verwendet
+ein Kompressionsformat, das den diversen <font color="#000077"><tt>zip</tt></font>-/<font color="#000077"><tt>unzip</tt></font>-Programmen
+ähnelt, und wird analog dem UNIX-Tool <font color="#000077"><tt>tar</tt></font>
+bedient. Ein Vorteil von <a href="index_j.html#ixb100146"><font color=#000080><tt>jar</tt></font></a>
+ist seine Portabilität, die sowohl für das erzeugte Dateiformat
+als auch für das (in Java geschriebene) Programm selbst gilt.
+
+<p>
+Wichtigster Einsatzzweck von <a href="index_j.html#ixb100146"><font color=#000080><tt>jar</tt></font></a>
+ist es, alle zu einem Java-Programm gehörenden Dateien (<font color="#660099">.class</font>-,
+Image-, Sound-Dateien usw.) in einer einzigen Datei zusammenzufassen.
+Neben den organisatorischen Vorteilen, die diese Möglichkeit
+zweifellos bietet, wurden jar-Dateien vor allem eingeführt, um
+das Laden von Applets aus dem Internet zu beschleunigen. Dadurch müssen
+Web-Browser nämlich nicht mehr für jede einzelne Datei,
+die in einem Applet benötigt wird, eine eigene GET-Transaktion
+absetzen, sondern können alle erforderlichen Files in einem Schritt
+laden. Die Ladezeit von Applets wird dadurch drastisch verringert,
+insbesondere, wenn viele kleine Dateien benötigt werden.
+
+<!-- Section -->
+
+<a name="sectlevel3id051006003"></a>
+<h3>51.6.3 Kommandos </h3>
+
+<p>
+Im Gegensatz zu den übrigen Programmen, die in diesem Kapitel
+vorgestellt wurden, kennt <a href="index_j.html#ixb100146"><font color=#000080><tt>jar</tt></font></a>
+keine Optionsparameter, sondern erwartet <i>Kommandos</i> an ihrer
+Stelle. Ein Kommando besteht aus einem Buchstaben, der ohne den Präfix
+<font color="#000077"><tt>-</tt></font> angegeben wird. Sollen mehrere
+Kommandos kombiniert werden, so werden die zugehörigen Buchstaben
+ohne Lücken direkt hintereinander geschrieben. Diese abweichende
+Syntax stammt von dem Kommando <font color="#000077"><tt>tar</tt></font>,
+das auf UNIX-Rechnern zur Archivierung von Dateien eingesetzt wird.
+<a href="k100323.html#jarkommandos">Tabelle 51.7</a> gibt eine Übersicht
+der verfügbaren Kommandos. <a name="jarkommandos"></a>
+
+<p>
+<table cols=2 border width=100%>
+
+<tr>
+<td valign=top align=left width=28%><b>Kommando</b></td>
+<td valign=top align=left width=71%><b>Bedeutung </b></td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>c</tt></font></td>
+<td valign=top align=left>Erzeugt eine neue Archivdatei (<i>create</i>).
+Kann nicht zusammen mit t oder x verwendet werden. </td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>t</tt></font></td>
+<td valign=top align=left>Gibt das Inhaltsverzeichnis der Archivdatei
+aus (<i>table of contents</i>). Kann nicht zusammen mit c oder x verwendet
+werden. </td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>x file</tt></font></td>
+<td valign=top align=left>Extrahiert eine oder mehrere Dateien aus
+dem Archiv (<i>extract</i>). Kann nicht zusammen mit c oder t verwendet
+werden. </td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>u</tt></font></td>
+<td valign=top align=left>Fügt die angegebenen Dateien in die
+bestehende Archivdatei ein. </td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>f</tt></font></td>
+<td valign=top align=left>Gibt an, dass der nächste Parameter
+der Name der Archivdatei ist. Wird das Kommando f nicht angegeben,
+verwendet jar statt dessen die Standardein- und -ausgabe. </td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>v</tt></font></td>
+<td valign=top align=left>Gibt zusätzliche Informationen aus
+(<i>verbose</i>). Kann zusätzlich zu einem der anderen Kommandos
+verwendet werden. </td></tr>
+<tr>
+<td valign=top align=left><font color="#000077"><tt>0</tt></font></td>
+<td valign=top align=left>Die Dateien werden ohne Kompression gespeichert.
+</td></tr>
+</table>
+<p><i>
+Tabelle 51.7: Kommandos von jar </i></p>
+
+<p>
+Sollen beispielsweise alle <font color="#660099">.java</font>-Dateien
+des aktuellen Verzeichnisses in ein Archiv mit der Bezeichnung <font color="#660099">xyz.jar</font>
+gepackt werden, so kann dazu folgendes Kommando verwendet werden:
+<font color="#000077">
+<pre>
+jar cf xyz.jar *.java
+</pre>
+</font>
+
+<p>
+Das Inhaltsverzeichnis des Archivs kann folgendermaßen abgerufen
+werden:
+<font color="#000077">
+<pre>
+jar tf xyz.jar
+</pre>
+</font>
+
+<p>
+Etwas ausführlicher geht es mit:
+<font color="#000077">
+<pre>
+jar tvf xyz.jar
+</pre>
+</font>
+
+<p>
+Um die Datei <font color="#660099">Test.java</font> aus dem Archiv
+zu extrahieren, kann das folgende Kommando verwendet werden (das natürlich
+auch ohne den Zusatz <font color="#000077"><tt>v</tt></font> funktioniert):
+<font color="#000077">
+<pre>
+jar xvf xyz.jar Test.java
+</pre>
+</font>
+
+
+<!-- Section -->
+<a name="sectlevel3id051006004"></a>
+<h3>51.6.4 Verwendung von jar-Dateien in Applets </h3>
+
+<p>
+Die Verwendung von <font color="#660099">jar</font>-Dateien in Applets
+erfolgt mit Hilfe des <a name="ixa103781"><a href="index_a.html#ixb102155"><font color=#000080><tt>ARCHIVE</tt></font></a></a>-Parameters
+des APPLET-Tags<a name="ixa103782"></a> (siehe <a href="k100248.html#kapitelapplets1">Kapitel 39</a>).
+Soll beispielsweise das »Hello, World«-Programm <font color="#660099">HWApplet.java</font>
+aus <a href="k100251.html#hwapplet">Listing 39.7</a> aus einem <font color="#660099">jar</font>-Archiv
+<font color="#660099">hello.jar</font> ausgeführt werden, so
+ist in den folgenden Schritten vorzugehen.
+
+<p>
+Zunächst werden die Dateien <font color="#660099">HWApplet.class</font>,
+<font color="#660099">hello.au</font> und <font color="#660099">world.au</font>
+in ein <font color="#660099">jar</font>-Archiv gepackt:
+<font color="#000077">
+<pre>
+jar cvf hello.jar HWApplet.class hello.au world.au
+</pre>
+</font>
+
+<p>
+Anschließend wird die HTML-Datei <font color="#660099">HWApplet.html</font>
+zum Aufruf des Applets erstellt:
+<a name="listingid051001"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#0000AA"><html></font>
+<font color="#555555">002 </font><font color="#0000AA"><head></font>
+<font color="#555555">003 </font><font color="#0000AA"><title></font>HWApplet<font color="#0000AA"></title></font>
+<font color="#555555">004 </font><font color="#0000AA"></head></font>
+<font color="#555555">005 </font><font color="#0000AA"><body></font>
+<font color="#555555">006 </font><font color="#0000AA"><h1></font>HWApplet<font color="#0000AA"></h1></font>
+<font color="#555555">007 </font><font color="#0000AA"><applet
+<font color="#555555">008 </font> code=HWApplet.class
+<font color="#555555">009 </font> archive=hello.jar
+<font color="#555555">010 </font> width=300
+<font color="#555555">011 </font> height=200></font>
+<font color="#555555">012 </font>Hier steht das Applet HWApplet.class
+<font color="#555555">013 </font><font color="#0000AA"></applet></font>
+<font color="#555555">014 </font><font color="#0000AA"></body></font>
+<font color="#555555">015 </font><font color="#0000AA"></html></font></pre>
+</font>
+</td>
+<td valign=top align=right>
+<a href="../examples/HWApplet.html"><font color="#000055" size=-1>HWApplet.html</font></a></td>
+</tr>
+</table>
+<i>
+Listing 51.1: HTML mit ARCHIVE-Tag</i></p>
+
+<p>
+Nun kann das Applet wie bisher gestartet werden, benötigt aber
+zum Laden aller Dateien nur noch eine einzige HTTP-Transaktion.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Leider unterstützen noch nicht alle Browser das <a href="index_j.html#ixb100146"><font color=#000080><tt>jar</tt></font></a>-Format,
+so dass seine Verwendung zum heutigen Zeitpunkt überlegt sein
+will. Für die nahe Zukunft ist es aber ein wichtiger Schritt
+zur Verbesserung der Ladezeiten von Applets.</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
+<tr>
+<td><font color="#FFFFFF"> Hinweis </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100317.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100322.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100324.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">© 1998, 2007 Guido Krüger & Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>
|
