blob: acdc31b6a07bb82eb11ee5c969de79525d9520cc [file] [log] [blame]
." Copyright (c) 1997, 2010, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
." or visit www.oracle.com if you need additional information or have any
." questions.
."
.TH jar 1 "14 Apr 2011"
.LP
.SH "̾Á°"
jar \- Java ARchive ¥Ä¡¼¥ë
.LP
\f3jar\fP ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£
.RS 3
.TP 2
o
·Á¼°
.TP 2
o
ÀâÌÀ
.TP 2
o
¥ª¥×¥·¥ç¥ó
.TP 2
o
¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë
.TP 2
o
Îã
.TP 2
o
´ØÏ¢¹àÌÜ
.RE
.LP
.SH "·Á¼°"
.LP
.RS 3
.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
.RE
.LP
.LP
ÀâÌÀ
.LP
.RS 3
.TP 3
cuxtiv0Mmfe
\f2jar\fP ¥³¥Þ¥ó¥É¤òÀ©¸æ¤¹¤ë¥ª¥×¥·¥ç¥ó
.TP 3
jarfile
ºîÀ® (\f2c\fP)¡¢¹¹¿· (\f2u\fP)¡¢Ãê½Ð (\f2x\fP)¡¢¤Þ¤¿¤ÏÌܼ¡É½¼¨ (\f2t\fP) ¤ÎÂоݤȤʤë JAR ¥Õ¥¡¥¤¥ë¡£\f2f\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2jarfile\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ \f2f\fP ¤È \f2jarfile\fP ¤ò¾Êά¤¹¤ë¤È¡¢É¸½àÆþÎϤ«¤é¡ÖJAR ¥Õ¥¡¥¤¥ë¡×¤¬¼èÆÀ¤µ¤ì¤ë¤« (x ¤ª¤è¤Ó t ¤Î¾ì¹ç)¡¢É¸½à½ÐÎϤءÖJAR ¥Õ¥¡¥¤¥ë¡×¤¬Á÷¿®¤µ¤ì¤Þ¤¹(c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£
.TP 3
inputfiles
\f2jarfile\fP ¤Ë·ë¹ç¤µ¤ì¤ë¤« (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡¢\f2jarfile\fP ¤«¤éÃê½Ð (x ¤Î¾ì¹ç) ¤Þ¤¿¤Ï°ìÍ÷ɽ¼¨ (t ¤Î¾ì¹ç) ¤µ¤ì¤ë¡¢¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÏºÆµ¢Åª¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥ª¥×¥·¥ç¥ó \f20\fP (¥¼¥í) ¤ò»ÈÍѤ·¤Ê¤¤¤«¤®¤ê°µ½Ì¤µ¤ì¤Þ¤¹¡£
.TP 3
manifest
JAR ¥Õ¥¡¥¤¥ë¤Î MANIFEST.MF Æâ¤Ë´Þ¤á¤ë¤Ù¤­ \f2name\fP\f2:\fP \f2value\fP ¥Ú¥¢¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¡£\f2m\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2manifest\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3m\fP¡¢\f3f\fP¡¢¤ª¤è¤Ó \f3e\fP ¤Î½Ð¸½½ç½ø¤Ï¡¢\f2manifest\fP¡¢\f2jarfile\fP¡¢\f2entrypoint\fP ¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.TP 3
entrypoint
¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤ÆÀßÄꤹ¤ë¥¯¥é¥¹¤Î̾Á°¡£\f2\-e\fP ¥ª¥×¥·¥ç¥ó¤È entrypoint ¤ÏÂФˤʤäƤ¤¤Þ¤¹¡£¤É¤Á¤é¤«¤ò»ØÄꤹ¤ë¾ì¹ç¤ÏξÊý¤È¤â»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£\f3m\fP¡¢\f3f\fP¡¢¤ª¤è¤Ó \f3e\fP ¤Î½Ð¸½½ç½ø¤Ï¡¢\f2manifest\fP¡¢\f2jarfile\fP¡¢\f2entrypoint\fP ¤Î½Ð¸½½ç½ø¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.TP 3
\-C\ dir
¤³¤ì¤Ë³¤¯ \f2inputfiles\fP °ú¿ô¤ò½èÍý¤¹¤ë´Ö¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò \f2dir\fP ¤Ø°ì»þŪ¤ËÊѹ¹¤·¤Þ¤¹¡£ \f2\-C\ \fP\f2\-\ dir\fP \f2inputfiles\fP ¤Î¥»¥Ã¥È¤ÏÊ£¿ô»ÈÍѤǤ­¤Þ¤¹¡£
.TP 3
\-Joption
Java ¼Â¹Ô´Ä¶­¤ØÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¡£\f2\-J\fP ¤È \f2option\fP ¤Î´Ö¤Ë¤Ï¶õÇò¤òÆþ¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
.RE
.LP
.SH "ÀâÌÀ"
.LP
\f3jar\fP ¥Ä¡¼¥ë¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò 1 ¤Ä¤Î JAR ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤·¤Þ¤¹¡£\f3jar\fP ¤Ï¡¢ZIP ¤ª¤è¤Ó
.na
\f2ZLIB\fP @
.fi
http://www.gzip.org/zlib/ °µ½Ì·Á¼°¤Ë´ð¤Å¤¯ÈÆÍѤΥ¢¡¼¥«¥¤¥Ö¤ª¤è¤Ó°µ½Ì¥Ä¡¼¥ë¤Ç¤¹¡£¤¿¤À¤· \f3jar\fP ¥Ä¡¼¥ë¤Î¼ç¤ÊÌÜŪ¤Ï¡¢¤¤¤¯¤Ä¤«¤Î Java ¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò 1 ¸Ä¤Î¥¢¡¼¥«¥¤¥Ö¤ËÅý¹ç¤¹¤ë¤³¤È¤Ç¤¹¡£¥¢¥×¥ì¥Ã¥È¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È (¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¤ª¤è¤Ó¥µ¥¦¥ó¥É) ¤¬ 1 ¤Ä¤Î¥¢¡¼¥«¥¤¥Ö¤Ë·ë¹ç¤µ¤ì¤Æ¤¤¤ë¤È¡¢Java ¥¨¡¼¥¸¥§¥ó¥È (¥Ö¥é¥¦¥¶¤Ê¤É) ¤Ï¡¢¤½¤ì¤é¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò 1 ²ó¤Î HTTP ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤´¤È¤Ë¿·¤·¤¤Àܳ¤òɬÍפȤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬ÂçÉý¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢\f3jar\fP ¤Ï¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤â¹Ô¤¦¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É»þ´Ö¤¬¤µ¤é¤Ëû½Ì¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Õ¥¡¥¤¥ëÆâ¤Î¸Ä¡¹¤Î¥¨¥ó¥È¥ê¤Ë¥¢¥×¥ì¥Ã¥ÈºîÀ®¼Ô¤Ë¤è¤ë½ð̾¤ò½ñ¤­¹þ¤á¤ë¤Î¤Ç¡¢ÇÛÉÛ¸µ¤Îǧ¾Ú¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤Î¹½Ê¸¤Ï¡¢\f2tar\fP ¥³¥Þ¥ó¥É¤Î¹½Ê¸¤È¤Û¤ÜƱ¤¸¤Ç¤¹¡£\f3JAR\fP ¥¢¡¼¥«¥¤¥Ö¤Ï¡¢°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¥¯¥é¥¹¥Ñ¥¹¤Î¥¨¥ó¥È¥ê¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£
.LP
Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤Ø·ë¹ç¤¹¤ë°ìÈÌŪ¤Ê»ÈÍÑË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
.LP
.nf
\f3
.fl
% jar cf myFile.jar *.class
.fl
\fP
.fi
.LP
¤³¤ÎÎã¤Ç¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥¯¥é¥¹ (.class) ¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ¡¢\f2myFile.jar\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤Ï¼«Æ°Åª¤Ë¡¢ \f2META\-INF/MANIFEST.MF\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ï¾ï¤Ë¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤Ë¤Ê¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¥¢¡¼¥«¥¤¥Ö¤Ë´Ø¤¹¤ë¥á¥¿¾ðÊó¤òÀë¸À¤·¡¢¤½¤Î¥Ç¡¼¥¿¤ò \f2name\ :\ value\fP ¥Ú¥¢¤È¤·¤Æ³ÊǼ¤·¤Þ¤¹¡£jar ¥Ä¡¼¥ë¤¬¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë¥á¥¿¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö
.na
\f2JAR file specification\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Ë³ÊǼ¤µ¤ì¤¿ \f2name\ :\ value\fP ¥Ú¥¢¤ò JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤Ë \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£
.LP
.nf
\f3
.fl
% jar cmf myManifestFile myFile.jar *.class
.fl
\fP
.fi
.LP
´û¸¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ï²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤¬²þ¹Ôʸ»ú¤Ç½ª¤ï¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢\f3jar\fP ¤Ï¤½¤ÎºÇ½ª¹Ô¤ò²òÀϤ·¤Þ¤»¤ó¡£
.br
.LP
.br
.LP
\f3Ãí:\ \fP¥³¥Þ¥ó¥É¹Ô¤Ë \f2cmf\fP ¤Ç¤Ï¤Ê¤¯ \f2cfm\fP ¤¬»ØÄꤵ¤ì¤¿ jar ¥³¥Þ¥ó¥É (m ¤È \-f ¥ª¥×¥·¥ç¥ó¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë) ¤Î¾ì¹ç¡¢\f3jar\fP ¥³¥Þ¥ó¥É¹Ô¤Ë¤Þ¤º JAR ¥¢¡¼¥«¥¤¥Ö¤Î̾Á°¤ò»ØÄꤷ¡¢Â³¤¤¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.nf
\f3
.fl
% jar cfm myFile.jar myManifestFile *.class
.fl
\fP
.fi
.LP
¥Þ¥Ë¥Õ¥§¥¹¥È¤Ï¡¢RFC822 ASCII ·Á¼°¤Çµ¬Äꤵ¤ì¤¿¥Æ¥­¥¹¥È·Á¼°¤Ç¤¢¤ë¤¿¤á¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò´Êñ¤Ëɽ¼¨¤ª¤è¤ÓÊÔ½¸¤Ç¤­¤Þ¤¹¡£
.LP
JAR ¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢ \f2x\fP ¤ò»ÈÍѤ·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
% jar xf myFile.jar
.fl
\fP
.fi
.LP
.LP
jar ¥Õ¥¡¥¤¥ë¤«¤é¸ÄÊ̤Υե¡¥¤¥ë¤òÃê½Ð¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
.LP
.nf
\f3
.fl
% jar xf myFile.jar foo bar
.fl
\fP
.fi
.LP
.LP
JDK ¤Î¥Ð¡¼¥¸¥ç¥ó 1.3 °Ê¹ß¤«¤é¡¢\f2jar\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Ç
.na
\f2JarIndex\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ JarIndex ¤ò»ÈÍѤ¹¤ë¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ç JAR ¥Õ¥¡¥¤¥ë¤«¤é¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Î¸úΨ¤¬¸þ¾å¤·¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Þ¤¿¤Ï¥¢¥×¥ì¥Ã¥È¤¬Ê£¿ô¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¯¥é¥¹¤¬¥í¡¼¥É¤µ¤ì¤ë¤È¤­¤Ë¡¢É¬Í×¤Ê JAR ¥Õ¥¡¥¤¥ë°Ê³°¤Î¥À¥¦¥ó¥í¡¼¥É¤ª¤è¤Ó¥ª¡¼¥×¥ó¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£¤³¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Ï¡¢¿·¤·¤¤ \f2\-i\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ \f2jar\fP ¤ò¼Â¹Ô¤¹¤ë¤ÈÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢»ØÄꤷ¤¿ JAR ¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤È¡¢¤½¤Î¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¥Ñ¥Ã¥±¡¼¥¸°ÌÃÖ¾ðÊó¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤¬°Í¸¤·¤Æ¤¤¤ë JAR ¥Õ¥¡¥¤¥ë¤Ï¡¢JAR ¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f2Class\-Path\fP °À­¤Ë»ØÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
.LP
.nf
\f3
.fl
% jar i main.jar
.fl
\fP
.fi
.LP
.LP
¤³¤ÎÎã¤Ç¤Ï¡¢ \f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤¬ \f2main.jar\fP ¤Î \f2META\-INF\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£
.br
.br
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ðÊó¤ò»ÈÍѤ·¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ï¡¢¸úΨŪ¤Ë¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤Ë°ÌÃÖ¾ðÊó¤ò³ÊǼ¤¹¤ëÊýË¡¤Î¾ÜºÙ¤Ï¡¢¡ÖJarIndex »ÅÍ͡פò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.br
.br
¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º \f2dir1\fP Æâ¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æ \f2stdout\fP ¤Ë½ÐÎϤ·¡¢Â³¤¤¤Æ \f2stdin\fP ¤«¤éÃê½Ð¤·¤Æ \f2dir2\fP ¤Ë½ÐÎϤ·¤Þ¤¹ (\f2\-f\fP ¥ª¥×¥·¥ç¥ó¤Ï¤É¤Á¤é¤Î \f2jar\fP ¥³¥Þ¥ó¥É¤Ç¤â¾Êά)¡£
.LP
.nf
\f3
.fl
% (cd dir1; jar c .)| (cd dir2; jar x)
.fl
\fP
.fi
.LP
.LP
\f2jar\fP ¤ò»ÈÍѤ·¤Æ JAR ¥Õ¥¡¥¤¥ë¤ä JAR ¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÁàºî¤¹¤ë¥µ¥ó¥×¥ë¥³¥Þ¥ó¥É¤ò³Îǧ¤·¤¿¤¤¾ì¹ç¤Ï¡¢¸å½Ò¤Î¡ÖÎã¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¡Ö
.na
\f2Java Tutorial\fP @
.fi
http://download.oracle.com/javase/tutorial/deployment/jar¡×¤Î JAR ¥³¡¼¥¹¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
.SH "¥ª¥×¥·¥ç¥ó"
.LP
.RS 3
.TP 3
c
f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP ¤È¤¤¤¦Ì¾Á°¤Î \f2¿·¤·¤¤\fP ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò \f2ºîÀ®¤·¡¢\fP f ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½à½ÐÎϤ˾ðÊó¤ò½ÐÎϤ·¤Þ¤¹¡£\f2inputfiles\fP ¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¢¤³¤Î¥¢¡¼¥«¥¤¥Ö¤ËÄɲä·¤Þ¤¹¡£
.TP 3
u
f ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢´û¸¥Õ¥¡¥¤¥ë \f2jarfile\fP ¤ò \f2¹¹¿·¤¹¤ëÌÜŪ¤Ç¡¢\fP \f2inputfiles\fP ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤Þ¤¹¡£¼¡¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
.nf
\f3
.fl
jar uf foo.jar foo.class
.fl
\fP
.fi
¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë \f2foo.class\fP ¤ò´û¸¤Î JAR ¥Õ¥¡¥¤¥ë \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£¼¡¤ÎÎã¤Ë¼¨¤¹¤è¤¦¤Ë¡¢\f2\-u\fP ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥¨¥ó¥È¥ê¤â¹¹¿·¤Ç¤­¤Þ¤¹¡£
.nf
\f3
.fl
jar umf manifest foo.jar
.fl
\fP
.fi
\f2foo.jar\fP ¥Þ¥Ë¥Õ¥§¥¹¥È¤ò¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î \f2name:value\fP ¥Ú¥¢¤Ç¹¹¿·¤·¤Þ¤¹¡£
.TP 3
x
f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP \f2¤«¤é\fP ¡¢ \f2f\fP ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½àÆþÎϤ«¤é¡¢¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤òÃê½Ð¤·¤Þ¤¹¡£\f2inputfiles\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤¬Ãê½Ð¤µ¤ì¤Þ¤¹¡£Ãê½Ð¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆü»þ¤Ï¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤ÇÀßÄꤵ¤ì¤¿¤â¤Î¤Ç¤¹¡£
.TP 3
t
f ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï \f2jarfile\fP \f2¤«¤é\fP ¡¢ \f2f\fP ¤È \f2jarfile\fP ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ïɸ½àÆþÎϤ«¤é¡¢Ìܼ¡¤òɽ¼¨¤·¤Þ¤¹¡£\f2inputfiles\fP ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤¬°ìÍ÷ɽ¼¨¤µ¤ì¤Þ¤¹¡£
.TP 3
i
»ØÄꤵ¤ì¤¿ \f2jarfile\fP ¤È¡¢¤½¤ì¤Ë°Í¸¤¹¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¾ðÊó¤òÀ¸À®¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢
.nf
\f3
.fl
jar i foo.jar
.fl
\fP
.fi
.LP
¾å¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2foo.jar\fP Æâ¤Ë \f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢\f2foo.jar\fP ¤È¡¢\f2foo.jar\fP ¤Î \f2Class\-Path\fP °À­¤Ë»ØÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÆþ¤Ã¤Æ¤¤¤ë³Æ¥Ñ¥Ã¥±¡¼¥¸¤Î°ÌÃÖ¾ðÊ󤬽ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÎã¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.TP 3
f
¼¡¤Î³Æ½èÍý¤ÎÂоݤȤʤë¥Õ¥¡¥¤¥ë \f2jarfile\fP ¤ò»ØÄꤷ¤Þ¤¹¡£ºîÀ® (\f2c\fP)¡¢¹¹¿· (\f2u\fP)¡¢Ãê½Ð (\f2x\fP)¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹Äɲà (\f2i\fP)¡¢¤Þ¤¿¤Ïɽ¼¨ (\f2t\fP)¡£\f2f\fP ¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾ \f2jarfile\fP ¤È¤¬¥Ú¥¢¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÊÒÊý¤òµ­½Ò¤¹¤ì¤Ð¡¢¤â¤¦°ìÊý¤âµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Omitting \f2f\fP ¤È \f2jarfile\fP ¤ò¾Êά¤¹¤ë¤È¡¢x ¤ä t ¤Î¾ì¹ç¤Ï \f2ɸ½àÆþÎÏ\fP¤«¤é JAR ¥Õ¥¡¥¤¥ë̾¤¬¼èÆÀ¤µ¤ì¡¢c ¤ä u ¤Î¾ì¹ç¤Ï \f2ɸ½à½ÐÎÏ\fP ¤Ë JAR ¥Õ¥¡¥¤¥ë¤¬Á÷¿®¤µ¤ì¤Þ¤¹¡£
.TP 3
v
¾ÜºÙ¤Ê½ÐÎϤòɸ½à½ÐÎϤËÀ¸À®¤·¤Þ¤¹¡£¤¢¤È¤ÇÎã¤ò¼¨¤·¤Þ¤¹¡£
.TP 3
0
(¥¼¥í) ZIP ¤Ë¤è¤ë°µ½Ì¤ò»ÈÍѤ»¤º¤Ë¡¢Êݸ¤·¤Þ¤¹¡£
.TP 3
M
¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó (c ¤ª¤è¤Ó u ¤Î¾ì¹ç)¡£¤Þ¤¿¤Ï¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤½¤ì¤òºï½ü¤·¤Þ¤¹ (u ¤Î¾ì¹ç)¡£
.TP 3
m
\f2META\-INF/MANIFEST.MF\fP ¤Î¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë \f2manifest\fP ¤Î \f2name : value\fP ¤Î°À­¥Ú¥¢¤òÁȤ߹þ¤ß¤Þ¤¹¡£ \f2jar\fP ¤Ï¡¢¤¹¤Ç¤ËƱ¤¸Ì¾Á°¤Ç¸ºß¤·¤Ê¤¤¤«¤®¤ê¡¢¤½¤Î \f2name:value\fP ¥Ú¥¢¤òÄɲä·¤Þ¤¹¡£Æ±¤¸Ì¾Á°¤Ç¸ºß¤¹¤ë¾ì¹ç¡¢ \f2jar\fP ¤Ï¤½¤ÎÃͤò¹¹¿·¤·¤Þ¤¹¡£
.LP
¥³¥Þ¥ó¥É¹Ô¤Ç¡¢\f3m\fP ¤È \f3f\fP ¤Îʸ»ú¤Ï¡¢\f2manifest\fP ¤È \f2jarfile\fP ¤ÎÆþÎϽç½ø¤ÈƱ¤¸½ç½ø¤Çµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Æ»È¤¤¤Þ¤¹¡£
.nf
\f3
.fl
jar cmf myManifestFile myFile.jar *.class
.fl
\fP
.fi
¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤Ï´Þ¤Þ¤ì¤Ê¤¤¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¡¢ÆÃÊ̤ÊÌÜŪ¤Î \f2name\ :\ value\fP ¤Î°À­¥Ú¥¢¤òÄɲäǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¥Ù¥ó¥À¡¼¾ðÊ󡢥С¼¥¸¥ç¥ó¾ðÊ󡢥ѥ屡¼¥¸¥·¡¼¥ê¥ó¥°¡¢¤Þ¤¿¤Ï JAR ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°À­¤òÄɲäǤ­¤Þ¤¹¡£¡ÖJava Tutorial¡×¤Î¡Ö
.na
\f2JAR Files\fP @
.fi
http://download.oracle.com/javase/tutorial/deployment/jar/¡×¥³¡¼¥¹¤ò»²¾È¤·¡¢ \f4\-m\fP ¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
.TP 3
e
¼Â¹Ô²Äǽ JAR ¥Õ¥¡¥¤¥ëÆâ¤Ë¥Ð¥ó¥É¥ë¤µ¤ì¤¿¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤È¤·¤Æ¡¢\f2entrypoint\fP ¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤È¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÆâ¤Î \f2Main\-Class\fP °À­Ãͤ¬ºîÀ®¤Þ¤¿¤Ï¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤ÎºîÀ®Ãæ¤Þ¤¿¤Ï¹¹¿·Ãæ¤Ë»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Þ¤¿¤ÏºîÀ®¤¹¤ë¤³¤È¤Ê¤·¤Ë¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£
.br
.br
¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï \f2Main.jar\fP ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤¬¡¢¤½¤ÎºÝ¡¢¥Þ¥Ë¥Õ¥§¥¹¥ÈÆâ¤Î \f2Main\-Class\fP °À­ÃÍ¤Ï \f2Main\fP ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
.nf
\f3
.fl
jar cfe Main.jar Main Main.class
.fl
\fP
.fi
.LP
¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È java ¥é¥ó¥¿¥¤¥à¤«¤éľÀܤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£
.nf
\f3
.fl
java \-jar Main.jar
.fl
\fP
.fi
¤¢¤ë¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Î¥¯¥é¥¹Ì¾¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥É¥Ã¥È (¡Ö.¡×) ¡¢¥¹¥é¥Ã¥·¥å (¡Ö/¡×) ¤Î¤¤¤º¤ì¤«¤Îʸ»ú¤ò¤½¤Î¶èÀÚ¤êʸ»ú¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f2Main.class\fP ¤¬ \f2foo\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ»ØÄê¤Ç¤­¤Þ¤¹¡£
.nf
\f3
.fl
jar \-cfe Main.jar foo/Main foo/Main.class
.fl
\fP
.fi
¤Þ¤¿¤Ï
.nf
\f3
.fl
jar \-cfe Main.jar foo.Main foo/Main.class
.fl
\fP
.fi
\f3Ãí:\ \fP \f2\-m\fP ¥ª¥×¥·¥ç¥ó¤È \f2\-e\fP ¥ª¥×¥·¥ç¥ó¤ÎξÊý¤òƱ»þ¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢»ØÄꤷ¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¤Ë¤â \f2Main\-Class\fP °À­¤¬´Þ¤Þ¤ì¤Æ¤¤¤ì¤Ð¡¢ \f2Main.class\fP ¤Î»ØÄ꤬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤Ã¤Æ¥¨¥é¡¼¤äȯÀ¸¤·¡¢JAR ¤ÎºîÀ®½èÍý¤ä¹¹¿·½èÍý¤¬°Û¾ï½ªÎ»¤·¤Þ¤¹¡£
.LP
.TP 3
\-C \ dir
\f2jar\fP ¥³¥Þ¥ó¥É¤Î¼Â¹ÔÃæ¤Ë¸å³¤Î \f2inputfiles\fP °ú¿ô¤ò½èÍý¤¹¤ë¤È¤­¤Ë¡¢°ì»þŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Þ¤¹ (cd \f2dir\fP)¡£¤³¤Î½èÍý¤Ï¡¢UNIX ¤Î \f2tar\fP ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¼¤Î \f2\-C\fP ¥ª¥×¥·¥ç¥ó¤Îµ¡Ç½¤ËÎà»÷¤·¤Æ¤¤¤Þ¤¹¡£
.br
.br
¤¿¤È¤¨¤Ð¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é \f2bar.class\fP ¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£
.nf
\f3
.fl
jar uf foo.jar \-C classes bar.class
.fl
\fP
.fi
¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢\f2classes\fP ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹ (jar ¥Õ¥¡¥¤¥ë¤Ë¤Ï classes ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤»¤ó)¡£¼¡¤Ë¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ¤«¤é¡¢\f2bin\fP ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¡¢\f2xyz.class\fP ¤ò \f2foo.jar\fP ¤ËÄɲä·¤Þ¤¹¡£
.nf
\f3
.fl
jar uf foo.jar \-C classes .\-C bin xyz.class
.fl
\fP
.fi
\f2classes\fP ¤Ë¥Õ¥¡¥¤¥ë \f2bar1\fP ¤È \f2bar2\fP ¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ \f2jar tf foo.jar\fP »ÈÍѤ·¤¿¤È¤­¤Î JAR ¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤ò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
.nf
\f3
.fl
META\-INF/
.fl
META\-INF/MANIFEST.MF
.fl
bar1
.fl
bar2
.fl
xyz.class
.fl
\fP
.fi
.LP
.TP 3
\-Joption
Java ¼Â¹Ô´Ä¶­¤Ë \f2option\fP ¤òÅϤ·¤Þ¤¹¡£ \f2option\fP ¤Ë¤Ï¡¢¡ÖJava ¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°¥Ä¡¼¥ë¡×¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò 1 ¤Ä»ØÄꤷ¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ \f4\-J\-Xmx48M\fP ¤È»ØÄꤹ¤ë¤È¡¢ºÇÂç¥á¥â¥ê¡¼¤¬ 48M ¥Ð¥¤¥È¤ËÀßÄꤵ¤ì¤Þ¤¹¡£\f2\-J\fP ¤ò»È¤Ã¤ÆÇظå¤Î¼Â¹Ô´Ä¶­¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ¹¤³¤È¤Ï¤è¤¯¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
.RE
.LP
.SH "¥³¥Þ¥ó¥É¹Ô°ú¿ô¥Õ¥¡¥¤¥ë"
.LP
jar ¤Î¥³¥Þ¥ó¥É¹Ô¤òû¤¯¤·¤¿¤ê´Ê·é¤Ë¤·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¡¢jar ¥³¥Þ¥ó¥É¤ËÂФ¹¤ë°ú¿ô (\-J ¥ª¥×¥·¥ç¥ó¤ò½ü¤¯) ¤ò´Þ¤à 1 ¤Ä°Ê¾å¤Î \f2¥Õ¥¡¥¤¥ë¤ò\fP »ØÄꤹ¤ë¤³¤È¤¬ \f2¤Ç¤­¤Þ¤¹\fP ¡£¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤ÎŤµ¤Î jar ¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤­¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ë¥³¥Þ¥ó¥É¹Ô¤ÎÀ©¸Â¤«¤é²òÊü¤µ¤ì¤Þ¤¹¡£
.LP
°ú¿ô¥Õ¥¡¥¤¥ë¤Ë¤Ï¥ª¥×¥·¥ç¥ó¤È¥Õ¥¡¥¤¥ë̾¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ëÆâ¤Î³Æ°ú¿ô¤Ï¡¢¥¹¥Ú¡¼¥¹¤Þ¤¿¤Ï²þ¹Ô¤Ç¶èÀÚ¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸«¤¿ÁêÂХѥ¹¤Ë¤Ê¤ê¤Þ¤¹¡£°ú¿ô¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤«¤é¸«¤¿ÁêÂХѥ¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥ï¥¤¥ë¥É¥«¡¼¥É (*) ¤Ï¡¢Ä̾ï¤Ê¤é¤Ð¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥·¥§¥ë¤Ë¤è¤Ã¤Æ¤¢¤é¤æ¤ëʸ»ú¤Ë²ò¼á¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤Î¾ì¹ç¤Ï¤½¤Î¤è¤¦¤Ë¤Ï²ò¼á¤µ¤ì¤Þ¤»¤ó¡£°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î°ú¿ô¤Ç \f2@\fP ʸ»ú¤ò»ÈÍѤ·¤Æ¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë²ò¼á¤¹¤ë¤³¤È¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢\f2\-J\fP ¥ª¥×¥·¥ç¥ó¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¯Æ°¥Ä¡¼¥ë¤ËÅϤµ¤ì¤Þ¤¹¤¬¡¢µ¯Æ°¥Ä¡¼¥ë¤Ç¤Ï°ú¿ô¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
.LP
.LP
\f2jar\fP ¤ò¼Â¹Ô¤¹¤ë¤È¤­¤Ë¡¢³Æ°ú¿ô¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤È¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤Ë \f2@\fP ʸ»ú¤òÉÕ¤±¤ÆÅϤ·¤Þ¤¹¡£ \f2jar\fP ¤Ï¡¢\f2@\fP ʸ»ú¤Ç»Ï¤Þ¤ë°ú¿ô¤ò¸«¤Ä¤±¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍƤòŸ³«¤·¤Æ°ú¿ô¥ê¥¹¥È¤ËÁÞÆþ¤·¤Þ¤¹¡£
.br
.br
¼¡¤ÎÎã¤Ç¡¢ \f2classes.list\fP ¤Ë¤Ï¡¢ \f2find\fP ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ½ÐÎϤµ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£
.LP
.nf
\f3
.fl
% find \fP\f3.\fP \-name '*.class' \-print > classes.list
.fl
.fi
.LP
.LP
¼¡¤Ë¡¢°ú¿ô¥Õ¥¡¥¤¥ë¹½Ê¸¤ò»ÈÍѤ·¤Æ \f2classes.list\fP ¤ò jar ¤ËÅϤ¹¤³¤È¤Ç¡¢ \f2¤½¤Î¥ê¥¹¥È\fP ¤ËÂФ·¤Æ \f2jar\fP ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
.LP
.nf
\f3
.fl
% jar cf my.jar @classes.list
.fl
\fP
.fi
.LP
°ú¿ô¥Õ¥¡¥¤¥ë¤Ï¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢ÁêÂХѥ¹¤¬µ­½Ò¤µ¤ì¤¿°ú¿ô¥Õ¥¡¥¤¥ëÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤Ï¡¢ÅϤµ¤ì¤¿¥Ñ¥¹¤ËÂФ·¤ÆÁêÂÐŪ¤Ç¤Ï¤Ê¤¯¡¢¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐŪ¤È¤Ê¤ê¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£
.nf
\f3
.fl
% jar @path1/classes.list
.fl
\fP
.fi
.LP
.LP
.LP
.SH "Îã"
.LP
ÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲ乤ë (¤½¤Î¥¢¡¼¥«¥¤¥Ö¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢¤½¤ÎÆâÍƤò¾å½ñ¤­¤¹¤ë) ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¾ðÊó¤ò¾ÜºÙ¤ËÎóµó¤¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤È¡¢¥µ¥¤¥º¤äºÇ¿·¤Î¹¹¿·Æü¤Ê¤É¡¢¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
.nf
\f3
.fl
% ls
.fl
1.au Animator.class monkey.jpg
.fl
2.au Wave.class spacemusic.au
.fl
3.au at_work.gif
.fl
.fl
% jar cvf bundle.jar *
.fl
added manifest
.fl
adding: 1.au(in = 2324) (out= 67)(deflated 97%)
.fl
adding: 2.au(in = 6970) (out= 90)(deflated 98%)
.fl
adding: 3.au(in = 11616) (out= 108)(deflated 99%)
.fl
adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
.fl
adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
.fl
adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
.fl
adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
.fl
adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
.fl
\fP
.fi
.LP
¤¹¤Ç¤Ë²èÁü¡¢¥ª¡¼¥Ç¥£¥ª¥Õ¥¡¥¤¥ë¡¢¤ª¤è¤Ó¥¯¥é¥¹ÍѤΥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ëʬ¤±¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤ì¤é¤òñ°ì¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë·ë¹ç¤Ç¤­¤Þ¤¹¡£
.nf
\f3
.fl
% ls \-F
.fl
audio/ classes/ images/
.fl
.fl
% jar cvf bundle.jar audio classes images
.fl
added manifest
.fl
adding: audio/(in = 0) (out= 0)(stored 0%)
.fl
adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
.fl
adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
.fl
adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
.fl
adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
.fl
adding: classes/(in = 0) (out= 0)(stored 0%)
.fl
adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
.fl
adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
.fl
adding: images/(in = 0) (out= 0)(stored 0%)
.fl
adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
.fl
adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
.fl
.fl
% ls \-F
.fl
audio/ bundle.jar classes/ images/
.fl
\fP
.fi
.LP
JAR ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê̾¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¡Ö\f2t\fP¡×¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
.nf
\f3
.fl
% jar tf bundle.jar
.fl
META\-INF/
.fl
META\-INF/MANIFEST.MF
.fl
audio/1.au
.fl
audio/2.au
.fl
audio/3.au
.fl
audio/spacemusic.au
.fl
classes/Animator.class
.fl
classes/Wave.class
.fl
images/monkey.jpg
.fl
images/at_work.gif
.fl
\fP
.fi
.LP
.LP
¥¯¥é¥¹¥í¡¼¥É¤ò¹â®¤Ë¤¹¤ë¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò JAR ¥Õ¥¡¥¤¥ë¤ËÄɲ乤ë¤Ë¤Ï¡¢¡Ö\f2i\fP¡×¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
.br
.br
Îã:
.br
.LP
¤¿¤È¤¨¤Ð¡¢³ô¼è°ú¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆâÉô°Í¸¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò¡¢\f2main.jar\fP¡¢\f2buy.jar\fP¡¢¤ª¤è¤Ó \f2sell.jar\fP ¤È¤¤¤¦ 3 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤Ëʬ³ä¤·¤¿¤È¤·¤Þ¤¹¡£
.br
.LP
.br
.LP
\f2main.jar\fP ¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Î \f2Class\-path\fP °À­¤Ë¼¡¤Î¤è¤¦¤Ë»ØÄꤷ¤¿¾ì¹ç¡¢
.nf
\f3
.fl
Class\-Path: buy.jar sell.jar
.fl
\fP
.fi
.LP
\f2\-i\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¤Î Æɤ߹þ¤ß¤ò¹â®²½¤Ç¤­¤Þ¤¹¡£
.nf
\f3
.fl
% jar i main.jar
.fl
\fP
.fi
.LP
\f2INDEX.LIST\fP ¥Õ¥¡¥¤¥ë¤¬ \f2META\-INF\fP ¥Ç¥£¥ì¥¯¥È¥ê¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤Î·ë²Ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¡¼¤Ë¤è¤Ã¤Æ¥¯¥é¥¹¤Þ¤¿¤Ï¥ê¥½¡¼¥¹¤Î¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤È¤­¤Ë¡¢Å¬ÀÚ¤Ê jar ¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£
.SH "´ØÏ¢¹àÌÜ"
.LP
.LP
.na
\f2JAR ¥Õ¥¡¥¤¥ë¤Î³µÍ×\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
.LP
.LP
.na
\f2JAR ¥Õ¥¡¥¤¥ë¤Î»ÅÍÍ\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
.LP
.LP
.na
\f2JarIndex ¤Î»ÅÍÍ\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR_Index
.LP
.LP
.na
\f2JAR ¥Á¥å¡¼¥È¥ê¥¢¥ë\fP @
.fi
http://download.oracle.com/javase/tutorial/deployment/jar/index.html
.LP
.LP
pack200(1)
.LP