blob: c219dcc03234e0df9fdc1bab24ea16c41c801ebf [file] [log] [blame]
'\" t
.\" Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
.\"
.\" This code is free software; you can redistribute it and/or modify it
.\" under the terms of the GNU General Public License version 2 only, as
.\" published by the Free Software Foundation.
.\"
.\" This code is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
.\" version 2 for more details (a copy is included in the LICENSE file that
.\" accompanied this code).
.\"
.\" You should have received a copy of the GNU General Public License version
.\" 2 along with this work; if not, write to the Free Software Foundation,
.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
.\"
.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
.\" CA 95054 USA or visit www.sun.com if you need additional information or
.\" have any questions.
.\" `
.TH jar 1 "2006 ǯ 9 ·î 4 Æü" "Java SE 6" "¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É"
.SH "̾Á°"
jar \- Java ¥¢¡¼¥«¥¤¥Ö¥Ä¡¼¥ë
.LP
\f3jar\fP ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î Java Archive (JAR) ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£
.\"
.\" This document was created by saving an HTML file as text
.\" from the JavaSoft web site:
.\"
.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
.\"
.\" and adding appropriate troff macros. Because the JavaSoft web site
.\" man pages can change without notice, it may be helpful to diff
.\" files to identify changes other than new functionality.
.\"
.SH "·Á¼°"
.LP
.LP
.TP 3
jar ¥Õ¥¡¥¤¥ë¤ÎºîÀ®
\f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP
.TP 3
jar ¥Õ¥¡¥¤¥ë¤Î¹¹¿·
\f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP
.TP 3
jar ¥Õ¥¡¥¤¥ë¤ÎÃê½Ð
\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
.TP 3
jar ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤΰìÍ÷¤òºîÀ®
\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
.TP 3
jar ¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲÃ
\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP
.LP
.LP
¥Ñ¥é¥á¡¼¥¿
.LP
.RS 3
.LP
.TP 3
cuxtiv0Mmfe
.I jar
¥³¥Þ¥ó¥É¤òÀ©¸æ¤¹¤ë¥ª¥×¥·¥ç¥ó¡£
.TP 3
jarfile
ºîÀ® (c)¡¢¹¹¿· (u)¡¢Ãê½Ð (x)¡¢¤Þ¤¿¤Ï±ÜÍ÷¤µ¤ì¤ëÆâÍƤΰìÍ÷¤òºîÀ® (t) ¤¹¤ë
jar ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
.I \-f
¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾
.I jarfile
¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
.I f
¤ª¤è¤Ó
.I jarfile
¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é¡Öjar ¥Õ¥¡¥¤¥ë¡×¤¬
»ÈÍѤµ¤ì¤¿¤ê (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎϤˤ³¤Î¡Öjar ¥Õ¥¡¥¤¥ë¡×¤¬
Á÷¿®¤µ¤ì¤¿¤ê¤·¤Þ¤¹ (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
.TP 3
inputfiles
.I jar ¥Õ¥¡¥¤¥ë
¤Ë·ë¹ç (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡¢¤Þ¤¿¤Ï
.I jar ¥Õ¥¡¥¤¥ë
¤«¤éÃê½Ð (x ¤Î¾ì¹ç) ¤Þ¤¿¤Ï°ìÍ÷ɽ¼¨ (t ¤Î¾ì¹ç) ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë
¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£¶õÇòʸ»ú¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏºÆµ¢Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£
¥ª¥×¥·¥ç¥ó 0 (¥¼¥í) ¤¬»ÈÍѤµ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤¬°µ½Ì¤µ¤ì¤Þ¤¹¡£
.TP 3
manifest
jar ¥Õ¥¡¥¤¥ë¤Î MANIFEST.MF ¤Ë´Þ¤á¤è¤¦¤È¤¹¤ë̾Á°:ÃÍ¥Ú¥¢¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë
´û¸¤Î manifest ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
.I \-m
¥ª¥×¥·¥ç¥ó¤È
.I manifest
¤Î¥Õ¥¡¥¤¥ë̾¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
ʸ»ú
.B m
¡¢
.B f
¡¢¤ª¤è¤Ó
.B e
¤Î½Ð¸½½ç½ø¤Ï¡¢
.I manifest
¡¢
.I jarfile
¡¢¤ª¤è¤Ó
.I entrypoint
¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.TP 3
entrypoint
¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤ÆÀßÄꤹ¤ë¥¯¥é¥¹¤Î̾Á°¡£
.I \-e
¥ª¥×¥·¥ç¥ó¤È entrypoint ¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£¤É¤Á¤é¤«¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏξÊý¤È¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Ê¸»ú
.I m
¡¢
.I f
¡¢
.I e
¤Î½Ð¸½½ç½ø¤Ï
.I manifest
¡¢
.I jarfile
¡¢
.I entrypoint
¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.TP 3
\-C\ dir
¸å³¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë°ú¿ô¤Î½èÍýÃæ¡¢
¥Ç¥£¥ì¥¯¥È¥ê¤ò
.I dir
¤Ë°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£
Ê£¿ô¤Î
.I \-C " dir"
ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤ò»ÈÍѤǤ­¤Þ¤¹¡£
.TP 3
\-Joption
Java Runtime Environment ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó
(
.I \-J
¤È
.I option
¤Î´Ö¤Ë¤Ï¶õÇòʸ»ú¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤)¡£
.SH "µ¡Ç½ÀâÌÀ"
.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP"
.IX "jar" "" "\fLjar\fP \(em Java archive tool"
.B jar
¥Ä¡¼¥ë¤Ï
Java
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î
1
¤Ä¤Ç¡¢Ê£¿ô¸Ä¤Î¥Õ¥¡¥¤¥ë¤ò
1
¸Ä¤Î
JAR
¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤·¤Þ¤¹¡£¤Þ¤¿¡¢
jar ¤ÏÈÆÍÑŪ¤Ê¥¢¡¼¥«¥¤¥ÖºîÀ®ÍÑ
¤ª¤è¤Ó°µ½ÌÍѤΥġ¼¥ë¤Ç¤â¤¢¤ê¡¢°µ½Ì¤Ï
.SM ZIP
¤Þ¤¿¤Ï
.I ZLIB
.fi
(http://www.gzip.org/zlib/)
·Á¼°¤Ç¹Ô¤¤¤Þ¤¹¡£
¤¿¤À¤·
.B jar
¥Ä¡¼¥ë¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î
Java
¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
1
¸Ä¤Î¥¢¡¼¥«¥¤¥Ö¤ËÅý¹ç¤¹¤ë¤³¤È¤Ç¤¹¡£
¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢¤¿¤È¤¨¤Ð
¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¤Ê¤É¤òñ°ì¤Î¥¢¡¼¥«¥¤¥Ö¤Ë
¤Þ¤È¤á¤ë¤È¡¢¥Ö¥é¥¦¥¶¤Î¤è¤¦¤Ê
Java
¥¨¡¼¥¸¥§¥ó¥È¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤È¤­¤Ë¡¢°ìÅÙ¤Î
HTTP
¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ÇºÑ¤ß¤Þ¤¹¡£¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë
¿·¤¿¤ËÀܳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
¤³¤ì¤Ë¤è¤ê¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿
.B jar
¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É¤¬¤è¤ê¹â®¤Ë¤Ê¤ê¤Þ¤¹¡£
¤µ¤é¤Ë¡¢¥Õ¥¡¥¤¥ëÃæ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤ËÂФ·¤Æ¥¢¥×¥ì¥Ã¥È¤ÎºîÀ®¼Ô¤¬
½ð̾¤Ç¤­¤ë¤Î¤Ç¡¢ºîÀ®¸µ¤òÌÀ³Î²½¤Ç¤­¤Þ¤¹¡£
.B jar
¥Ä¡¼¥ë¤Î¹½Ê¸¤Ï¡¢
.I tar
¥³¥Þ¥ó¥É¤Î¹½Ê¸¤È¤Û¤ÜƱ°ì¤Ç¤¹¡£
.B jar
¥¢¡¼¥«¥¤¥Ö¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢
¥¯¥é¥¹¥Ñ¥¹
.fi
(http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html)
¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£
.LP
Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò jar ¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤¹¤ëɸ½àŪ¤Ê»È¤¤Êý¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
.LP
.RS
.ft 3
.nf
% jar cf myFile.jar *.class
.fi
.ft 1
.RE
.LP
¤³¤ÎÎã¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¤¹¤Ù¤Æ¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤¬
.I myFile.jar
¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£
jar ¥Ä¡¼¥ë¤Ï¼«Æ°Åª¤Ë¡¢
.I META\-INF/MANIFEST.MF
¤È¤¤¤¦Ì¾Á°¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤Ë´Ø¤¹¤ë¥á¥¿¾ðÊó¤òÀë¸À¤·¡¢¤½¤Î¥Ç¡¼¥¿¤ò
.I name : value
¥Ú¥¢¤È¤·¤Æ³ÊǼ¤·¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë¥á¥¿¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
¤Î
.na
¡ÖJAR file specification¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤¿
.I name : value
¥Ú¥¢¤ò JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤Ë \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£
.LP
.RS 3
.LP
.nf
\f3
.fl
% jar cmf myManifestFile myFile.jar *.class
.fl
\fP
.fi
.RE
.LP
´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\ ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤¬²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\f3jar\fP ¤Ï¤½¤ÎºÇ¸å¤Î¹Ô¤ò²òÀϤ·¤Þ¤»¤ó¡£
.br
.LP
.br
.LP
\f3Ãí:\ \fP ¥³¥Þ¥ó¥É¹Ô¤Ë
.I cmf
¤Ç¤Ï¤Ê¤¯
.I cfm
¤¬»ØÄꤵ¤ì¤¿ jar ¥³¥Þ¥ó¥É (m ¤È \-f ¥ª¥×¥·¥ç¥ó¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë) ¤Î¾ì¹ç¡¢\f3jar\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Þ¤º jar ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤ò»ØÄꤷ¡¢Â³¤¤¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
.B % jar cfm myFile.jar myManifestFile *.class
.RE
.LP
manifest ¤Ï RFC822
.SM ASCII
·Á¼°¤Ë´ð¤Å¤¤¤¿¥Æ¥­¥¹¥È·Á¼°¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢manifest ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤÏ
´Êñ¤Ëɽ¼¨¤ª¤è¤Ó½èÍý¤Ç¤­¤Þ¤¹¡£
.LP
jar ¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢
.I x
¤ò»ÈÍѤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% jar xf myFile.jar
.RE
.LP
jar ¥Õ¥¡¥¤¥ë¤«¤é¸ÄÊ̤Υե¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢
¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
.LP
.RS 5
% jar xf myFile.jar foo bar
.RE
.LP
JDK ¤Î¥Ð¡¼¥¸¥ç¥ó 1.3 ¤«¤é¡¢jar ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
¤Î¡Ö
.I JarIndex
¡×¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¤³¤ì¤Ë¤è¤ê¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ï¡¢jar ¥Õ¥¡¥¤¥ë¤«¤é
¥¯¥é¥¹¤ò¤è¤ê¹â®¤ËÆɤ߹þ¤á¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤¬Ê£¿ô¤Î jar ¥Õ¥¡¥¤¥ë¤Ë
¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢É¬Í×¤Ê jar ¥Õ¥¡¥¤¥ë¤À¤±¤¬¥À¥¦¥ó
¥í¡¼¥É¤µ¤ì¤Æ³«¤«¤ì¡¢¥¯¥é¥¹¤¬Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£
¤³¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Ï¡¢
.I jar
¤ò
.I \-i
¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¼Â¹Ô¤¹¤ë¤ÈÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
»ØÄꤷ¤¿
¥á¥¤¥ó¤Î jar ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¤½¤Î¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë
¤¹¤Ù¤Æ¤Î jar ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥±¡¼¥¸°ÌÃÖ¾ðÊó¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
¤³¤ì¤é¤Î¾ðÊó¤Ï¡¢¥á¥¤¥ó jar ¥Õ¥¡¥¤¥ë¤Î manifest ¤Î
.I Class-Path
°À­¤Ç
»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
.RS 5
% jar i main.jar
.RE
.LP
¤³¤ÎÎã¤Ç¤Ï¡¢
.I INDEX.LIST
¥Õ¥¡¥¤¥ë¤¬
.I main.jar
¤Î
.I META-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÄɲ䵤ì¤Þ¤¹¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ç¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿¾ðÊó¤ò
»ÈÍѤ·¤Æ¡¢¥¯¥é¥¹¤Î¥í¡¼¥É¤ò¹â®²½¤·¤Þ¤¹¡£
¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ë°ÌÃÖ¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢
¡ÖJarIndex »ÅÍ͡פò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.br
.br
¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º
.I dir1
Æâ¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æɸ½à½ÐÎϤ˽ÐÎϤ·¡¢Â³¤¤¤Æɸ½àÆþÎϤ«¤é
.I dir2
¤ËÃê½Ð¤·¤Þ¤¹ (ξÊý¤Î
.I jar
¥³¥Þ¥ó¥É¤«¤é
.I \-f
¥ª¥×¥·¥ç¥ó¤ò¾Ê¤¯)¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% (cd dir1; jar c .) | (cd dir2; jar x)
.RE
.LP
.I jar
¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤ä JAR ¥Õ¥¡¥¤¥ë¥Þ¥Ë¥Õ¥§¥¹¥È¤òÁàºî¤¹¤ë¥³¥Þ¥ó¥É¥µ¥ó¥×¥ë¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢¡ÖÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢
.fi
http://java.sun.com/docs/books/tutorial/jar
¤Î
.na
¡ÖJava Tutorial¡×¤Î JAR ¥³¡¼¥¹¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.SH "¥ª¥×¥·¥ç¥ó"
.if t .TP 10
.if n .TP 5
.B c
¿·µ¬¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò
.I jarfile
¤È¤¤¤¦Ì¾Á° (
.I f
¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢¤Þ¤¿¤Ïɸ½à½ÐÎϾå¤Ë (
.I f
¤È
.I jarfile
¤ò¾Êά¤·¤¿¾ì¹ç) ºîÀ®¤·¤Þ¤¹¡£
¥¢¡¼¥«¥¤¥Ö¤Ë¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Äɲ䵤ì¤Þ¤¹¡£
.if t .TP 10
.if n .TP 5
.B u
´û¸¤Î
.I jarfile
(
.I f
¤ò»ØÄꤷ¤¿¾ì¹ç) ¤ò¹¹¿·¤·¤Þ¤¹¡£
¤³¤Î¤È¤­¡¢¤³¤Î
.I jarfile
¤Ë¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Äɲ䵤ì¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% jar uf foo.jar foo.class
.RE
.LP
¤³¤ÎÎã¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë
.I foo.class
¤¬´û¸¤Î jar ¥Õ¥¡¥¤¥ë
.I foo.jar
¤ËÄɲ䵤ì¤Þ¤¹¡£
.I u
¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¤Î¥¨¥ó¥È¥ê¤ò¹¹¿·¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% jar umf manifest foo.jar
.RE
.LP
.I foo.jar
¥Þ¥Ë¥Õ¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î̾Á°:ÃÍ¥Ú¥¢¤Ç¹¹¿·¤·¤Þ¤¹¡£
.if t .TP 10
.if n .TP 5
.B x
¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤ò
.I jarfile
(
.I f
¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢
¤Þ¤¿¤Ïɸ½àÆþÎÏ (
.I f
¤È
.I jarfile
¤ò¾Êά¤·¤¿¾ì¹ç) ¤«¤éÃê½Ð¤·¤Þ¤¹¡£
ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤½¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬
Ãê½Ð¤µ¤ì¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£
Ãê½Ð¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆü»þ¤Ï¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤ÇÀßÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£
.if t .TP 10
.if n .TP 5
.B t
.I jarfile
(
.I f
¤ò»ØÄꤷ¤¿¾ì¹ç)¡¢¤Þ¤¿¤Ïɸ½àÆþÎÏ (
.I f
¤È
.I jarfile
¤ò¾Êά¤·¤¿¾ì¹ç) ¤«¤éÆâÍƤò¥ê¥¹¥È¤·¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤¿¾ì¹ç¡¢
¤½¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬
¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤¬¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£
.if t .TP 10
.if n .TP 5
.B i
»ØÄꤵ¤ì¤¿
.I jarfile
¤ª¤è¤Ó´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë jar ¥Õ¥¡¥¤¥ë¤Î
¥¤¥ó¥Ç¥Ã¥¯¥¹¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% jar i foo.jar
.RE
.LP
.I foo.jar
¤Ë
.I INDEX.LIST
¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
.I foo.jar
¤Î³Æ¥Ñ¥Ã¥±¡¼¥¸¤ª¤è¤Ó
.I foo.jar
¤Î
.I Class-Path
°À­¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î jar ¥Õ¥¡¥¤¥ë¤Î
°ÌÃÖ¾ðÊ󤬽ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.if t .TP 10
.if n .TP 5
.B f
ºîÀ® (c)¡¢¹¹¿· (u)¡¢Ãê½Ð (x)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ºîÀ®(i)¡¢
¤Þ¤¿¤Ïɽ¼¨ (t) ¤¹¤ë
.I jarfile
¤ò»ØÄꤷ¤Þ¤¹¡£
.I \-f
¥ª¥×¥·¥ç¥ó¤È
.I jarfile
¤Î¥Õ¥¡¥¤¥ë̾¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£
»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢Î¾Êý¤ò°ì½ï¤Ë»ÈÍѤ·¤Þ¤¹¡£
.I f
¤È
.I jarfile
¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é jar ¥Õ¥¡¥¤¥ë̾¤¬
»ÈÍѤµ¤ì¤¿¤ê (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎÏ¤Ë jar ¥Õ¥¡¥¤¥ë¤¬
Á÷¿®¤µ¤ì¤¿¤ê¤·¤Þ¤¹ (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
.if t .TP 10
.if n .TP 5
.B v
ɸ½à½ÐÎϤ˾ܺ٤ʽÐÎϤòÀ¸À®¤·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.if t .TP 10
.if n .TP 5
.B 0
¥¼¥í¡£ZIP °µ½Ì¤ò»ÈÍѤ»¤º¤Ë³ÊǼ¤·¤Þ¤¹¡£
.if t .TP 10
.if n .TP 5
.B M
manifest ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£¤Þ¤¿¤Ï
¤¹¤Ç¤Ë¸ºß¤¹¤ë manifest ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºï½ü¤·¤Þ¤¹ (u ¤Î¾ì¹ç)¡£
.if t .TP 10
.if n .TP 5
.B m
»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë
.I manifest
¤«¤é
̾Á°:ÃÍ°À­¤ò¥Õ¥¡¥¤¥ë
.I META-INF/MANIFEST.MF
¤Ë¼è¤ê¹þ¤ß¤Þ¤¹¡£
¤¹¤Ç¤ËƱ¤¸Ì¾Á°¤Ç¸ºß¤·¤Ê¤¤¸Â¤ê¡¢
.I jar
¤Ï¤½¤Î̾Á°:ÃÍ¥Ú¥¢¤òÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ç¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢
jar
¤Ï¤½¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£
.LP
¥³¥Þ¥ó¥É¹Ô¤Ç¤Ï¡¢Ê¸»ú
.B m
¤È
.B f
¤Ï¡¢
.I manifest
¤È
.I jarfile
¤¬½Ð¸½¤¹¤ë¤Î¤È
Ʊ¤¸½ç½ø¤Ç»ÈÍѤ·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% jar cmf myManifestFile myFile.jar *.class
.RE
.LP
manifest ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡¢
ÀìÍѤÎ̾Á°:ÃÍ°À­¥Ú¥¢¤òÄɲäǤ­¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢
¥Ù¥ó¥À¡¼¾ðÊ󡢥С¼¥¸¥ç¥ó¾ðÊ󡢥ѥ屡¼¥¸¥·¡¼¥ê¥ó¥°¡¢
¤Þ¤¿¤Ï JAR ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°À­¤ò
ÄɲäǤ­¤Þ¤¹¡£
.B -m
¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖJava Tutorial¡×
.fi
http://java.sun.com/docs/books/tutorial/jar/
¤Ë¤¢¤ë
.na
¡Ö
.I JAR Files
¡×¥³¡¼¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.TP 3
e
¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤Æ¡¢
.I entrypoint
¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
.I Main\-Class
°À­Ãͤ¬ºîÀ®¤Þ¤¿¤Ï¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ®Ãæ¤Þ¤¿¤Ï¹¹¿·Ãæ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Þ¤¿¤ÏºîÀ®¤¹¤ë¤³¤È¤Ê¤·¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£
.br
.br
¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï
.I Main.jar
¤òºîÀ®¤·¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î
.I Main\-Class
°À­ÃͤÏ
.I Main
¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
.RS 3
.LP
.nf
\f3
.fl
jar cfe Main.jar Main Main.class
.fl
\fP
.fi
.RE
.LP
¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È java ¥é¥ó¥¿¥¤¥à¤«¤éľÀܤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£
.RS 3
.LP
.nf
\f3
.fl
java \-jar Main.jar
.fl
\fP
.fi
.RE
¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬ÆÃÄê¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ¥É¥Ã¥È (¡Ö.¡×) ¤Þ¤¿¤Ï¥¹¥é¥Ã¥·¥å (¡Ö/¡×) ¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
.I Main.class
¤¬
.I foo
¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£
.RS 3
.LP
.nf
\f3
.fl
jar \-cfe Main.jar foo/Main foo/Main.class
.fl
\fP
.fi
.RE
¤Þ¤¿¤Ï
.RS 3
.LP
.nf
\f3
.fl
jar \-cfe Main.jar foo.Main foo/Main.class
.fl
\fP
.fi
.RE
\f3Ãí:\ \fP
.I \-m
¥ª¥×¥·¥ç¥ó¤È
.I \-e
¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤹ¤ë¾ì¹ç¡¢»ØÄꤵ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â
.I Main\-Class
°À­¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢
.I Main.class
¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤Ã¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¡¢JAR ¤ÎºîÀ®¤Þ¤¿¤Ï¹¹¿·½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£
.if t .TP 10
.if n .TP 5
.B \-C \ dir
.B jar
¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë°ì»þŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Þ¤¹ (
.I cd " dir"
)¡£
¤³¤Î¤È¤­¡¢¸å³¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë°ú¿ô¤¬½èÍý¤µ¤ì¤Þ¤¹¡£
¤³¤ÎÆ°ºî¤Ï¡¢UNIX ¤Î
.I tar
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î
.I \-C
¥ª¥×¥·¥ç¥ó¤È
ƱÍͤÎÆ°ºî¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
.I classes
¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é
.I bar.classes
¤ò
.I foo.jar
¤ËÄɲä·¤Þ¤¹¡£
.RS 3
.LP
.nf
\f3
.fl
jar uf foo.jar \-C classes bar.class
.fl
\fP
.fi
.RE
¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢
.I classes
¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢
.I classes
¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò
.I foo.jar
¤ËÄɲä·¤Þ¤¹ (jar ¥Õ¥¡¥¤¥ë¤Ë¤Ï classes ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£
¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢
.I bin
¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢
.I xyz.class
¤ò
.I foo.jar
¤ËÄɲä·¤Þ¤¹¡£
.RS 3
.LP
.nf
\f3
.fl
jar uf foo.jar \-C classes . \-C bin xyz.class
.fl
\fP
.fi
.RE
.I classes
¤Ë¥Õ¥¡¥¤¥ë
.I bar1
¤ª¤è¤Ó
.I bar2
¤¬¤¢¤ë¾ì¹ç¡¢
.I jar tf foo.jar
¤ò¼Â¹Ô¤¹¤ë¤È¡¢jar ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
.LP
.if t .RS 15
.if n .RS 8
.ft 3
.nf
META-INF/
META-INF/MANIFEST.MF
bar1
bar2
xyz.class
.fi
.ft 1
.RE
.if t .TP 10
.if n .TP 5
.B \-Joption
.I option
¤ò Java Runtime Environment ¤ËÅϤ·¤Þ¤¹¡£
¤³¤³¤Ç¡¢
.I option
¤Ï¡¢Java ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥×¥í¥°¥é¥à¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
.fi
(http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html#options)
¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ç¤¹¡£
¤¿¤È¤¨¤Ð
.B \-J-Xms48m
¤Ï¡¢ºÇÂç¥á¥â¥ê¤ò 48M ¥Ð¥¤¥È¤ËÀßÄꤷ¤Þ¤¹¡£
.I \-J
¤¬´ðËܤˤ¹¤ë²¾ÁÛ¥Þ¥·¥ó¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¡¢¶¦Ä̤ε¬Ìó¤Ç¤¹¡£
.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë"
.B jar
¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤Þ¤¿¤Ï´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
.I jar
¥³¥Þ¥ó¥É¤Î°ú¿ô (
.I \-J
¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä°Ê¾å»ØÄê¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤ÎŤµ¤Î
.B jar
¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¡¢
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ë¥³¥Þ¥ó¥É¹Ô¤ÎÀ©¸Â¤ò
²óÈò¤Ç¤­¤Þ¤¹¡£
.LP
°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ï¶õÇòʸ»ú¶èÀÚ¤ê¤Þ¤¿¤Ï²þ¹Ô¶èÀÚ¤ê¤Ë¤·¤Þ¤¹¡£
°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ËÂФ·¤Æ¤Ç¤Ï¤Ê¤¯¡¢
¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤ÆÁêÂÐŪ¤Ë»ØÄꤷ¤Þ¤¹¡£
Ä̾ï¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥§¥ë¤Ë¤è¤Ã¤ÆŸ³«¤µ¤ì¤ë¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï
Ÿ³«¤µ¤ì¤Þ¤»¤ó¡£¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤¿¤á¤Î @ ʸ»ú¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£
.I \-J
¥ª¥×¥·¥ç¥ó¤Ï¡¢µ¯Æ°¥×¥í¥°¥é¥à¤ËÅϤµ¤ì¤ë¤¿¤á¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
µ¯Æ°¥×¥í¥°¥é¥à¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò»ÈÍѤǤ­¤Ê¤¤¤¿¤á¤Ç¤¹¡£
.LP
.I jar
¤Î¼Â¹Ô»þ¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ª¤è¤Ó̾Á°¤ÎÀèƬ¤Ë @ ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£
.I jar
¤ÇÀèƬ¤Ëʸ»ú @ ¤ÎÉÕ¤¤¤¿°ú¿ô¤¬½Ð¸½¤¹¤ë¤¿¤Ó¤Ë¡¢
¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ¬°ú¿ô¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤Þ¤¹¡£
.br
.br
¼¡¤ÎÎã¤Ç¤Ï¡¢
.I find
¥³¥Þ¥ó¥É¤«¤é½ÐÎϤµ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤ò
.I classes.list
Æâ¤Ë³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£
.LP
.RS 5
% find . -name '*.class' -print > classes.list
.RE
.LP
¤½¤Î¸å¡¢°ú¿ô¥Õ¥¡¥¤¥ë¹½Ê¸¤ò»È¤Ã¤Æ
.I jar
¤Ë¥ê¥¹¥È¤òÅϤ¹¤È¡¢
.I Classes.list
¤Ç
.I jar
¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
.LP
.RS 5
% jar cf my.jar @classes.list
.RE
.LP
°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ­½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î
¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢
¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.LP
.RS 5
% jar @path1/classes.list
.RE
.SH "»ÈÍÑÎã"
¤¢¤ë¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤Æ¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ëÎã¤ò¼¨¤·¤Þ¤¹
(¥¢¡¼¥«¥¤¥Ö¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢ÆâÍƤ¬¾å½ñ¤­¤µ¤ì¤Þ¤¹)¡£
¾ÜºÙ¤òÎóµó¤¹¤ë¤È (
.I \-v
¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ)¡¢
¥µ¥¤¥º¤äºÇ½ª¹¹¿·Æü¤Ê¤É¡¢
¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤Ë´Ø¤·¤Æ¾Ü¤·¤¤¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
.RS
\f3
.nf
% ls
1.au Animator.class monkey.jpg
2.au Wave.class spacemusic.au
3.au at_work.gif
.LP
% jar cvf bundle.jar *
added manifest
adding: 1.au(in = 2324) (out= 67)(deflated 97%)
adding: 2.au(in = 6970) (out= 90)(deflated 98%)
adding: 3.au(in = 11616) (out= 108)(deflated 99%)
adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
\f1
.fi
.RE
¥¤¥á¡¼¥¸¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥¯¥é¥¹ÍѤΥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬
¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢Ã±°ì¤Î
.B jar
¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤Ç¤­¤Þ¤¹¡£
.RS
\f3
.nf
% ls -F
audio/ classes/ images/
% jar cvf bundle.jar audio classes images
added manifest
adding: audio/(in = 0) (out= 0)(stored 0%)
adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
adding: classes/(in = 0) (out= 0)(stored 0%)
adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
adding: images/(in = 0) (out= 0)(stored 0%)
adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
% ls -F
audio/ bundle.jar classes/ images/
.fi
\f1
.RE
¼¡¤ÎÎã¤Ç¤Ï¡¢
.I t
¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢jar ¥Õ¥¡¥¤¥ëÃæ¤Î¥¨¥ó¥È¥ê̾¤òɽ¼¨¤·¤Þ¤¹¡£
.RS
\f3
.nf
% jar tf bundle.jar
META-INF/
META-INF/MANIFEST.MF
audio/1.au
audio/2.au
audio/3.au
audio/spacemusic.au
classes/Animator.class
classes/Wave.class
images/monkey.jpg
images/at_work.gif
.fi
\f1
.RE
¥¯¥é¥¹¤ÎÆɤ߹þ¤ß¤ò¹â®²½¤¹¤ë¤¿¤á¤Ë jar ¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò
Äɲ乤ë¾ì¹ç¤Ï¡¢
.I i
¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
.br
.br
Îã:
.br
.LP
.RS 3
.LP
¤¿¤È¤¨¤Ð³ô¼è°ú¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆâÉô°Í¸¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò
.I main.jar
¡¢
.I buy.jar
¡¢
¤ª¤è¤Ó
.I sell.jar
¤È¤¤¤¦ 3 ¤Ä¤Î jar ¥Õ¥¡¥¤¥ë
¤Ëʬ³ä¤·¤¿¤È¤·¤Þ¤¹¡£
.I main.jar
¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î
.I Class-Path
°À­¤Ë¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢
.LP
.RS 5
Class-Path: buy.jar sell.jar
.RE
.LP
.I -i
¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤Î
Æɤ߹þ¤ß¤ò¹â®²½¤Ç¤­¤Þ¤¹¡£
.LP
.RS 5
% jar i main.jar
.RE
.LP
.I INDEX.LIST
¥Õ¥¡¥¤¥ë¤¬
.I META-INF
¥Ç¥£¥ì¥¯¥È¥ê¤ËÄɲ䵤ì¤Þ¤¹¡£
¤³¤Î·ë²Ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï
¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤­¤Ë¡¢Å¬ÀÚ¤Ê jar ¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£
.SH "´ØÏ¢¹àÌÜ"
.LP
.LP
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
¤Î
.na
¡Ö
.I The Jar Overview
¡×
.br
.LP
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
¤Î
.na
¡Ö
.I The Jar File Specification
¡×
.br
.LP
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
¤Î
.na
¡Ö
.I The JarIndex Spec
¡×
.br
.LP
.fi
http://java.sun.com/docs/books/tutorial/jar
¤Î
.na
¡Ö
.I Jar Tutorial
¡×
(Java ¥½¥Õ¥È¥¦¥§¥¢¤Î Web ¥µ¥¤¥ÈÆâ)
.br
.LP
.fi
http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html
¤Î
.na
¡Ö
.I pack200 Reference Page
¡×
.LP