jar - Java Archive Åø

º¹¼öÀÇ ÆÄÀÏÀ» 1 °³ÀÇ Java ARchive (JAR) ÆÄÀÏ¿¡ °áÇÕÇÕ´Ï´Ù.

Çü½Ä

JAR ÆÄÀÏÀÇ ÀÛ¼º
jar c[v0M]f jarfile [-C dir] inputfiles [-Joption]
jar c[v0]mf manifestjarfile [-C dir] inputfiles[-Joption]
jar c[v0M] [-C dir] inputfiles[-Joption]
jar c[v0]m manifest [-C dir] inputfiles [-Joption]

JAR ÆÄÀÏÀÇ °»½Å
jar u[v0M]f jarfile [-C dir] inputfiles [-Joption]
jar u[v0]mf manifestjarfile [-C dir] inputfiles[-Joption]
jar u[v0M] [-C dir] inputfiles[-Joption]
jar u[v0]m manifest [-C dir] inputfiles [-Joption]

JAR ÆÄÀÏÀÇ ÃßÃâ
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]

JAR ÆÄÀÏÀÇ ³»¿ëÀÇ °Ñ(Ç¥) Çü½Ä¿¡ ÀÇÇÑ À϶÷Ç¥½Ã
jar t[v]f jarfile [inputfiles] [-Joption]
jar t[v] [inputfiles] [-Joption]

JAR ÆÄÀÏ¿¡ÀÇ À妽ºÀÇ Ãß°¡
jar i jarfile [-Joption]

¼³¸í

cuxtiv0Mmf
jar Ä¿¸àµå¸¦ Á¦¾îÇÏ´Â ¿É¼Ç
jarfile
ÀÛ¼º (c), °»½Å (u), ÃßÃâ (x), ¶Ç (Àº)´Â ³»¿ëÀÇ À϶÷Ç¥½Ã (t)ÀÇ ´ë»óÀÌ µÇ´Â JAR ÆÄÀÏ. f ¿É¼Ç°ú ÆÄÀϸí jarfile (ÀÌ)°¡ Æä¾î°¡ µË´Ï´Ù. Áï, ´Ù¸¥ ÇÑÂÊÀ» ±â¼úÇϸé, ÀÌÁ¦(¹ú½á) ÇÑÆíµµ ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. f ¿Í jarfile (À»)¸¦ »ý·« Çϸé(ÀÚ), Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ ¡¸JAR ÆÄÀÏ¡¹ÀÌ ÃëµæµÇ´ÂÁö (x ¹× t ÀÇ °æ¿ì), Ç¥ÁØ Ãâ·Â¿¡ ¡¸JAR ÆÄÀÏ¡¹ÀÌ ¼Û½ÅµË´Ï´Ù(c ¹× u ÀÇ °æ¿ì).
inputfiles
jarfile ¿¡ °áÇյǴÂÁö (c ¹× u ÀÇ °æ¿ì),jarfile ·ÎºÎÅÍ ÃßÃâ (x ÀÇ °æ¿ì) ¶Ç´Â À϶÷Ç¥½Ã (t ÀÇ °æ¿ì) µÇ´Â, °ø¹é¿¡¼­ ´Ü¶ôÁö¾îÁø ÆÄÀÏ ¶Ç´Â µð·ºÅ丮. ¸ðµç µð·ºÅ丮´Â Àç±ÍÀûÀ¸·Î 󸮵˴ϴÙ. ÀÌ ÆÄÀÏÀº, ¿É¼Ç O (Á¦·Î)(À»)¸¦ »ç¿ëÇÏÁö ¾Ê´Â ÇÑ ¾ÐÃàµË´Ï´Ù.
manifest
name: value ÀÇ Æä¾î°¡, JAR ÆÄÀÏÀÇ MANIFEST.MF ¿¡ Æ÷ÇԵǾî ÀÖ´Â ±âÁ¸ÀÇ ¸¶´ÏÆä½ºÆ® ÆÄÀÏ. m ¿É¼Ç°ú ÆÄÀϸí manifest (ÀÌ)°¡ Æä¾î°¡ µË´Ï´Ù. Áï, ´Ù¸¥ ÇÑÂÊÀ» ±â¼úÇϸé, ÀÌÁ¦(¹ú½á) ÇÑÆíµµ ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. m ¿Í f ÀÇ ¹®ÀÚ´Â,manifest (¿Í)°ú jarfile ¸¦ ±â¼úÇÑ ¼ø¼­¿Í °°Àº ¼ø¼­·Î ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
-C dir
À̰Ϳ¡ °è¼ÓµÇ´Â inputfiles Àμö¸¦ ó¸®ÇÏ´Â µ¿¾È, µð·ºÅ丮¸¦ dir ¿¡ ÀϽÃÀûÀ¸·Î º¯°æÇÕ´Ï´Ù. º¹¼ö ¼¼Æ®ÀÇ -C dir inputfiles (À»)¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
-Joption
Java ½ÇÇà ȯ°æ¿¡ °Ç³×¹Þ´Â ¿É¼Ç. -J ¿Í option ÀÇ »çÀÌ¿¡´Â °ø¹éÀ» µé¾î°¥ ¼ö ÀÖÁö ¸»¾Æ ÁÖ¼¼¿ä.

¼³¸í

jar ÅøÀº, º¹¼öÀÇ ÆÄÀÏÀ» 1 °³ÀÇ JAR archiveÆÄÀÏ¿¡ °áÇÕÇÕ´Ï´Ù. jar (Àº)´Â, ZIP ¹× ZLIB ¾ÐÃà Çü½ÄÀ» º£À̽º·Î ÇÑ, ¹ü¿ëÀÇ ¾îÄ«À̺ê(archive) ¹× ¾ÐÃà ÅøÀÔ´Ï´Ù. jar ´Â, ÁÖ·Î Java ÀÇ ¾ÖÇø´À̳ª ¾îÇø®ÄÉÀ̼ÇÀ» 1 °³ÀÇ ¾îÄ«À̺ê(archive)¿¡ ÆÐŰÁöÈ­ÇÏ´Â °ÍÀ» ¿ëÀÌÇÏ°Ô Çϱâ À§Çؼ­ °í¾È µÇ¾ú½À´Ï´Ù. ¾ÖÇø´À̳ª ¾îÇø®ÄÉÀ̼ÇÀÇ ÄÄÆÛ³ÍÆ® (. class ÆÄÀÏ, À̹ÌÁö, ¹× »ç¿îµå)°¡ 1 °³ÀÇ ¾îÄ«À̺ê(archive)¿¡ °áÇյǰí ÀÖÀ¸¸é(ÀÚ), Java ¿¡ÀÌÀüÆ® (ºê¶ó¿ìÀú µî) (Àº)´Â, ±×·¯ÇÑ ÄÄÆÛ³ÍÆ®¸¦ 1 ȸÀÇ HTTP Æ®·£Àè¼Ç(transaction)·Î ´Ù¿î·ÎµåÇÒ ¼ö°¡ ÀÖ¾î ÄÄÆÛ³ÍÆ® ¸¶´Ù »õ·Î¿î Á¢¼ÓÀ» ÇÊ¿ä·Î ÇÏ´Â ÀÏÀÌ ¾ø½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ´Ù¿î·ÎµåÀÇ È¸¼ö°¡ ´ëÆø (À¸)·Î °¨¼ÒÇÕ´Ï´Ù. ¶Ç,jar (Àº)´Â ÆÄÀÏÀ» ¾ÐÃàÇϹǷÎ, ´Ù¿î·Îµå ½Ã°£µµ ª¾ÆÁý´Ï´Ù. ¶Ç, ÆÄÀϳ»ÀÇ °³°³ÀÇ ¿£Æ®¸®¿¡ ¾ÖÇø´ ÀÛ¼ºÀÚ¿¡ ÀÇÇÑ ¼­¸íÀ» ±âÀÔÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ¹èÆ÷¿øÀÇ ÀÎÁõÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù. jar ÅøÀÇ ±¸¹®Àº,tar Ä¿¸àµåÀÇ ±¸¹®°ú °ÅÀÇ °°½À´Ï´Ù. jar ¾îÄ«À̺ê(archive)´Â, ¾ÐÃàµÇ°í ÀÖ´ÂÁö ¾î¶²Áö¿¡ °ü°è¾øÀÌ,Ŭ·¡½º ÆÐ½ºÀÇ ¿£Æ®¸®·Î¼­ »ç¿ë?? .

º¹¼öÀÇ ÆÄÀÏÀ» JAR ÆÄÀÏ¿¡ °áÇÕÇÏ´Â ÀϹÝÀûÀÎ »ç¿ë¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.

C:\Java> jar cf myFile.jar *. class
ÀÌ ¿¹¿¡¼­´Â, ÇöÀçÀÇ µð·ºÅ丮¿¡ Àִ Ŭ·¡½º (. class) ÆÄÀÏÀÌ ¸ðµÎ, myFile.jar (ÀÌ)¶ó´Â À̸§ÀÇ ÆÄÀÏ¿¡ Æ÷ÇԵ˴ϴÙ. META-INF/MANIFEST.MF ¶ó°í ÇÏ´Â ¸¶´ÏÆä½ºÆ® ÆÄÀÏ ¿£Æ®¸®°¡, jar Åø¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î »ý¼ºµÇ¾î Ç×»ó JAR ÆÄÀϳ»ÀÇ ¼±µÎ¿¡ ³õ¿©Áý´Ï´Ù. ¸¶´ÏÆä½ºÆ® ÆÄÀÏ¿¡´Â,name: value ÀÇ Æä¾î·Î¼­ ¾îÄ«À̺ê(archive)ÀÇ ¸ÞŸ Á¤º¸µµ Æ÷ÇԵ˴ϴÙ. ¸¶´ÏÆä½ºÆ® ÆÄÀÏ¿¡ ¸ÞŸ Á¤º¸°¡ ¾î¶»°Ô ÇØ Æ÷ÇԵɱ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº,¡¸JAR ÆÄÀÏÀÇ »ç¾ç¡¹À» ÂüÁ¶ÇØ °ü Â÷ÀÌ.

JAR ¾îÄ«À̺ê(archive)¸¦ ÀÛ¼ºÇÏ´Â °æ¿ì¿¡ jar Åø·Î »ç¿ëÇÏ°í ½ÍÀº name: value ÀÇ Æä¾î¸¦ °¡Áø ±âÁ¸ÀÇ ¸¶´ÏÆä½ºÆ® ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì´Â, ´ÙÀ½°ú °°ÀÌ,m ¿É¼ÇÀ» »ç¿ëÇØ, ¸¶´ÏÆä½ºÆ® ÆÄÀÏÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

C:\Java> jar cmf myManifestFile myFile.jar *. class
»ç¿ëÇÏ´Â ±âÁ¸ÀÇ ¸¶´ÏÆä½ºÆ® ÆÄÀÏÀÌ, °³Çà ¹®ÀÚ·Î ³¡³ª ÀÖ´Â °ÍÀ» È®ÀÎÇØ ÁÖ¼¼¿ä. ¸¶´ÏÆä½ºÆ® ÆÄÀÏÀÇ ¸»¹Ì°¡ °³Çà ¹®ÀÚ°¡ ¾Æ´Ñ °æ¿ì, ÆÄÀÏÀÇ ÃÖ ÈÄÀÇ ÇàÀº ±¸¹® ºÐ¼® µÇÁö ¾Ê½À´Ï´Ù. ¡¸cmf¡¹´Â ¾Æ´Ï°í ¡¸cfm¡¹¶ó°í ÁöÁ¤ÇßÀ» ¶§ ( ¡¸m¡¹¿É¼Ç°ú ¡¸f¡¹¿É¼ÇÀ» ¹Ý´ë·Î ÁöÁ¤ÇßÀ» ¶§)´Â, JAR ¾îÄ«À̺ê(archive)ÀÇ À̸§ÀÇ ÈÄ¿¡, ¸¶´ÏÆä½ºÆ® ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
C:\Java> jar cfm myFile.jar myManifestFile *. class
¸¶´ÏÆä½ºÆ®´Â, RFC822 ASCII Çü½Ä¿¡¼­ ±ÔÁ¤µÈ ÅØ½ºÆ® Çü½ÄÀ̱â (À§ÇØ)¶§¹®¿¡, ¸¶´ÏÆä½ºÆ® ÆÄÀÏÀÇ ³»¿ëÀ», °£´ÜÇÏ°Ô Ç¥½Ã ¹× ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù.

JAR ÆÄÀϷκÎÅÍ ÆÄÀÏÀ» ÃßÃâÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ x ¸¦ »ç¿ëÇÕ´Ï´Ù.

C:\Java> jar xf myFile.jar

JAR ÆÄÀϷκÎÅÍ Æ¯Á¤ÀÇ ÆÄÀϸ¸À» ÃßÃâÇÏ·Á¸é , ±× ÆÄÀϸíÀ» ÁöÁ¤ÇÕ´Ï´Ù.

C:\Java> jar xf myFile.jar foo bar

Java 2 SDK ÀÇ ¹öÁ¯ 1.3 ÀÌÈĺÎÅÍ,jar À¯Æ¿¸®Æ¼·Î JarIndex ÇÏÁö¸¸ ¼­Æ÷Æ®µÇ°í ÀÖ½À´Ï´Ù. JarIndex ¸¦ »ç¿ëÇϸé(ÀÚ), ¾îÇø®ÄÉÀ̼ÇÀÇ Å¬·¡½º ·Î´õ·Î JAR ÆÄÀϷκÎÅÍ Å¬·¡½º°¡ ·Îµå µÉ ¶§ÀÇ È¿À²ÀÌ Çâ»óÇÕ´Ï´Ù. ¾îÇø®ÄÉÀÌ¼Ç ¶Ç´Â ¾ÖÇø´ÀÌ º¹¼öÀÇ JAR ÆÄÀÏ¿¡ ¹øµé µÇ°í ÀÖ´Â °æ¿ì´Â, Ŭ·¡½º°¡ ·Îµå µÉ ¶§, ÇÊ¿äÇÑ JAR ÆÄÀÏ ÀÌ¿ÜÀÇ ´Ù¿î·Îµå ¹× ¿ÀÇÂÀº ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. ÀÌ ÆÛÆ÷¸Õ½ºÀÇ ÃÖÀûÈ­´Â, »õ·Î¿î i ¿É¼ÇÀ» ÁöÁ¤ÇØ jar (À»)¸¦ ½ÇÇàÇϸé(ÀÚ) À¯È¿ÇÏ°Ô µË´Ï´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé(ÀÚ), ÁöÁ¤ÇÑ JAR ¸ÞÀÎ ÆÄÀϰú ±× ¸ÞÀÎ ÆÄÀÏÀÌ ÀÇÁ¸Çϰí ÀÖ´Â ¸ðµç JAR ÆÄÀÏ¿¡ ´ëÇØ, ÆÐŰÁö À§Ä¡ Á¤º¸°¡ »ý¼ºµË´Ï´Ù. ¸ÞÀÎ ÆÄÀÏÀÌ ÀÇÁ¸Çϰí ÀÖ´Â JAR ÆÄÀÏÀº, JAR ¸ÞÀÎ ÆÄÀÏÀÇ ¸¶´ÏÆä½ºÆ®ÀÇ Class-Path ¼Ó¼ºÀ¸·Î ÁöÁ¤ÇØ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù.

C:\Java> jar i main.jar

À§ÀÇ ¿¹¿¡¼­´Â, INDEX.LIST ÆÄÀÏÀÌ, main.jar ÀÇ META-INF µð·ºÅ丮¿¡ »ðÀԵ˴ϴÙ.
ÀÌ ÆÄÀÏ¿¡ Æ÷ÇԵǰí ÀÖ´Â Á¤º¸¸¦ »ç¿ëÇØ, ¾îÇø®ÄÉÀ̼ÇÀÇ Å¬·¡½º ·Î´õ´Â, È¿À²ÀûÀ¸·Î Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.  À妽º ÆÄÀÏ¿¡ À§ Ä¡Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¹æ¹ýÀÇ ÀÚ¼¼ÇÑ °ÍÀº, JarIndex ÀÇ »ç¾çÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

µð·ºÅ丮¸¦ Ä«ÇÇÇϴ ǥÁØÀûÀÎ ¹æ¹ýÀº, ¿ì¼± dir1 ³»ÀÇ ÆÄÀÏÀ» Ç¥ÁØ Ãâ·Â¿¡ ¾ÐÃàÇØ, °è¼ÓµÇ¾î Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ dir2 ¿¡ ÃßÃâÇÕ´Ï´Ù (¾çÂÊ ¸ðµÎÀÇ jar Ä¿¸àµå·ÎºÎÅÍ f ¸¦ »ý·« ÇÑ´Ù).

C:\Java> (cd dir1; jar c . ) | (cd dir2; jar x)

jar ÅøÀ» »ç¿ëÇØ JAR ÆÄÀϰú ±× ¸¶´ÏÆä½ºÆ®¸¦ Á¶ÀÛÇÏ´Â ¿¹´Â, ÀÌÈÄ¿¡ÀÇ¡¸¿¹¡¹¶ó°í,¡¸Java Æ©Å丮¾ó¡¹ÀÇ ¡¸JAR Files¡¹¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

¿É¼Ç

c
jarfile ÀÇ À̸§À¸·Î »õ·Î¿î archiveÆÄÀÏÀ» ÀÛ¼ºÇÒ±î (f ÇÏÁö¸¸ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì), Ç¥ÁØ Ãâ·ÂÀ¸·Î ÀÛ¼ºÇÕ´Ï´Ù (f ¿Í jarfile °¡ »ý·« µÇ°í ÀÖ´Â °æ¿ì). inputfiles ±×¸®°í ÁöÁ¤µÈ ÆÄÀϰú µð·ºÅ丮¸¦, ÀÌ ¾îÄ«À̺ê(archive)¿¡ Ãß°¡ÇÕ´Ï´Ù.
u
inputfiles ±×¸®°í ÁöÁ¤µÈ ÆÄÀϰú µð·ºÅ丮¸¦ Ãß°¡ÇÏ´Â °ÍÀ¸·Î½á, ±âÁ¸ÀÇ ÆÄÀÏ jarfile (À»)¸¦ °»½ÅÇÕ´Ï´Ù (f °¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì). ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
jar uf foo.jar foo.class
À§ÀÇ Ä¿¸àµå´Â, ÆÄÀÏ foo.class ¸¦ ±âÁ¸ÀÇ JAR ÆÄÀÏ foo.jar ¿¡ Ãß°¡ÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ),u ¿É¼ÇÀº, ¸¶´ÏÆä½ºÆ® ¿£Æ®¸®µµ °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.
jar umf manifest foo.jar
name: value ÀÇ Æä¾î°¡ manifest ¿¡ Æ÷ÇÔµÈ foo.jar ¸¶´ÏÆä½ºÆ®¸¦ °»½ÅÇÕ´Ï´Ù.
x
jarfile ·ÎºÎÅÍ (f ÇÏÁö¸¸ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì), ¶Ç´Â Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ (f ¿Í jarfile ÇÏÁö¸¸ »ý·« µÇ°í ÀÖ´Â °æ¿ì), ÆÄÀϰú µð·ºÅ丮¸¦ ÃßÃâÇÕ´Ï´Ù. inputfiles ÇÏÁö¸¸ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì´Â, ±× ÁöÁ¤ÇÑ ÆÄÀϰú µð·ºÅ丮¸¸ÀÌ ÃßÃâµË´Ï´Ù. ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, ¸ðµç ÆÄÀϰú µð·ºÅ丮°¡ ÃßÃâ .
t
jarfile ·ÎºÎÅÍ (f ÇÏÁö¸¸ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì), ¶Ç´Â Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ (f ¿Í jarfile ÇÏÁö¸¸ »ý·« µÇ°í ÀÖ´Â °æ¿ì), ³»¿ëÀ» °Ñ(Ç¥) Çü½Ä¿¡¼­ À϶÷Ç¥ °¡¸®Åµ´Ï´Ù. inputfiles ÇÏÁö¸¸ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì´Â, ±× ÁöÁ¤ÇÑ ÆÄÀϰú µð·ºÅ丮¸¸ÀÌ À϶÷Ç¥ ³ªÅ¸³³´Ï´Ù. ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, ¸ðµç ÆÄÀϰú µð·ºÅ丮°¡ À϶÷Ç¥½Ã µË´Ï´Ù.
i
ÁöÁ¤µÈ jarfile ¿Í °Å±â¿¡ ÀÇÁ¸ÇÏ´Â JAR ÆÄÀÏ¿¡ ´ëÇØ, À妽º Á¤º¸¸¦ »ý¼ºÇÕ´Ï´Ù. ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
jar i foo.jar

À§ÀÇ Ä¿¸àµå´Â,foo.jar ³»¿¡ INDEX.LIST ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â,foo.jar ¿Ífoo.jar ÀÇ Class-Path ¼Ó¼ºÀ¸·Î ÁöÁ¤µÈ ¸ðµç JAR ÆÄÀÏ¿¡ µé¾î°¡ ÀÖ´Â °¢ ÆÐŰÁöÀÇ À§Ä¡ Á¤º¸°¡ ±âÀÔÇØÁö°í ÀÖ½À´Ï´Ù. À妽ºÀÇ ¿¹¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

f
ÀÛ¼º (c), °»½Å (u), ÃßÃâ (x), ÀÎÁ§ Äí½ºÀÇ Ãß°¡ (i), ¶Ç´Â Ç¥½Ã (t) ´ë»óÀÇ ÆÄÀÏ jarfile ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. f ¿É¼Ç°ú ÆÄÀϸí jarfile °¡ Æä¾î°¡ µË´Ï´Ù. Áï, ´Ù¸¥ ÇÑÂÊÀ» ±â¼úÇϸé, ÀÌÁ¦(¹ú½á) ÇÑÆíµµ ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. f (¿Í)°ú jarfile ¸¦ »ý·« Çϸé(ÀÚ), Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ ¡¸JAR ÆÄÀÏ¡¹ÀÌ ÃëµæµÉ±î (x ¹× t ÀÇ °æ¿ì), Ç¥ÁØ Ãâ·Â¿¡ ¡¸JAR ÆÄÀÏ¡¹ÀÌ ¼Û½ÅµË´Ï´Ù(c ¹× u ÀÇ °æ¿ì).
v
»ó¼¼ÇÑ Ãâ·ÂÀ» Ç¥ÁØ Ãâ·Â¿¡ »ý¼ºÇÕ´Ï´Ù. ³ªÁß¿¡¿¹¸¦ ³ªÅ¸³»°Ú½À´Ï´Ù.
0
(Á¦·Î) ZIP ¿¡ ÀÇÇÑ ¾ÐÃàÀ» »ç¿ëÇÏÁö ¾Ê°í, º¸Á¸ÇÕ´Ï´Ù.
M
¸¶´ÏÆä½ºÆ® ÆÄÀÏ ¿£Æ®¸®¸¦ ÀÛ¼ºÇÏÁö ¾Ê½À´Ï´Ù (c ¹× u ÀÇ °æ¿ì). ¶Ç´Â, ¸¶´ÏÆä½ºÆ® ÆÄÀÏ ¿£Æ®¸®°¡ 1 °³Á¸ÀçÇÏ´Â °æ¿ì¿¡ ±×°ÍÀ» »èÁ¦ÇÕ´Ï´Ù (u ÀÇ °æ¿ì).
m
META-INF/MANIFEST.MF ÀÇ ÆÄÀÏ·Î ÁöÁ¤ÇÑ ¸¶´ÏÆä½ºÆ® ÆÄÀÏ manifest ÀÇ name: value ÀÇ ¼Ó¼º Æä¾î¸¦ Â¥³Ö½À´Ï´Ù. °°Àº À̸§ÀÇ Æä¾î°¡ ¹ú½á Á¸ÀçÇϰí ÀÖ´Â °æ¿ì¸¦ Á¦¿ÜÇØ,name: value ÀÇ Æä¾î°¡ Ãß°¡µË´Ï´Ù. °°Àº À̸§ÀÇ Æä¾î°¡ Á¸ÀçÇϰí ÀÖ´Â °æ¿ì´Â, ±× °ªÀÌ °»½ÅµË´Ï´Ù.

Ä¿¸àµåÇàÀ¸·Î,m ¿Í f ÀÇ ¹®ÀÚ´Â,manifest ¿Í jarfile ÀÇ ÀÔ·Â ¼ø¼­¿Í °°Àº ¼ø¼­·Î ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°ÀÌ ÇØ »ç¿ëÇÕ´Ï´Ù.

jar cmf myManifestFile myFile.jar *. class
µðÆúÆ®ÀÇ ¸¶´ÏÆä½ºÆ®¿¡´Â Æ÷ÇÔµÇÁö ¾Ê´Â ¸¶´ÏÆä½ºÆ®¿¡, Ưº°ÇÑ ¸ñÀûÀÇ name: value ÀÇ ¼Ó¼º Æä¾î¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼Ó¼º¿¡´Â, º¥´õ Á¤º¸, ¹öÁ¯ Á¤º¸, ÆÐŰÁöÀÇ ¾ÁµîÀ» ±â¼úÇÒ ¼ö ÀÖ´Â °Í ¿Ü¿¡ JAR ¿¡ ¹øµé µÈ ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇà °¡´ÉÇÏ°Ô ÇÏ´Â ¼Ó¼ºÀ» ±â¼úÇÒ ¼öµµ ÀÖ½À´Ï´Ù. m ¿É¼ÇÀÇ »ç¿ë¿¹´Â, Java Æ©Å丮¾óÀÇ ¡¸JAR Files¡¹ ¹× ¡¸Notes for Developers¡¹ ÆäÀÌÁö¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
-C  dir
jar Ä¿¸àµåÀÇ ½ÇÇàÁß, ÈļÓÀÇ inputfiles Àμö¸¦ ó¸®ÇÒ °æ¿ì¿¡, ÀϽÃÀûÀ¸·Î µð·ºÅ丮¸¦ º¯°æÇÕ´Ï´Ù (cd dir). ÀÌ Ã³¸®´Â, UNIX ÀÇ tar À¯Æ¿¸®Æ¼ÀÇ -C ¿É¼ÇÀÇ ±â´É¿¡ À¯»çÇϰí ÀÖ½À´Ï´Ù. ´ÙÀ½¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
jar uf foo.jar -C classes bar.class
À§ÀÇ Ä¿¸àµå´Â,classes µð·ºÅ丮·Î ¿Å°Ü, ±× µð·ºÅ丮·ÎºÎÅÍ bar.class ¸¦ foo.jar ¿¡ Ãß°¡ÇÕ´Ï´Ù. ´ÙÀ½¿¡ ´Ù¸¥ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
jar uf foo.jar -C classes .  -C bin xyz.class
classes µð·ºÅ丮·Î º¯°æÇØ,classes µð·ºÅ丮³»ÀÇ ¸ðµç ÆÄÀÏÀ»,foo.jar ¿¡ Ãß°¡ÇÕ´Ï´Ù (ÀÌ JAR ÆÄÀϳ»¿¡ Ŭ·¡½º µð·ºÅ丮´Â ÀÛ¼ºÇÏÁö ¾Ê´Â´Ù). ´ÙÀ½¿¡, ¿øÀÇ µð·ºÅ丮¿¡ µ¹¾Æ¿Í¼­,bin µð·ºÅ丮·Î º¯°æÇØ xyz.class ¸¦ foo.jar ¿¡ Ãß°¡ÇÕ´Ï´Ù. classes ¿¡ bar1 ¿Í bar2 °¡ º¸°ü À¯ÁöµÇ°í ÀÖ´Â °æ¿ì,jar tf foo.jar ¸¦ »ç¿ëÇϸé(ÀÚ), JAR ÆÄÀÏ¿¡´Â ´ÙÀ½ÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
META-INF/
META-INF/MANIFEST.MF
bar1
bar2
xyz.class

-Joption
Java ½ÇÇà ȯ°æ¿¡ option ¸¦ °Ç³×ÁÝ´Ï´Ù. option ¿¡´Â,¡¸Java ¾îÇø®ÄÉÀÌ¼Ç ±âµ¿ Åø¡¹ÀÇ ·¹ÆÛ·±½º ÆäÀÌÁö¿¡ ±âÀçµÇ¾î ÀÖ´Â ¿ÀÇÁ¼î ¸¦ 1 °³ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î,-J-Xmx48M ¿Í ÁöÁ¤Çϸé(ÀÚ), ÃÖ´ë ¸Þ¸ð¸®´Â 48M ¹ÙÀÌÆ®·Î ¼³Á¤µË´Ï´Ù. -J ¸¦ »ç¿ëÇØ ¹èÈÄÀÇ ½ÇÇà ȯ°æ¿¡ ¿É¼ÇÀ» °Ç³×ÁÖ´Â °ÍÀº Àß ÇàÇØÁö°í ÀÖ½À´Ï´Ù.

Ä¿¸àµåÇà Àμö ÆÄÀÏ

javac ÀÇ Ä¿¸àµåÇàÀ» ª°Ô Çϰųª °£°áÇÏ°Ô Çϰųª Çϱâ À§Çؼ­,jar Ä¿¸àµå¿¡ ´ëÇÑ Àμö (-J ¿É¼ÇÀ» Á¦¿ÜÇÏ´Ù)¸¦ Æ÷ÇÔÇÑ 1 °³(»ì) ÀÌ»óÀÇ ÆÄÀÏÀ» ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ÀÓÀÇÀÇ ±æÀÌÀÇ jar Ä¿¸àµå¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ¾î operating system¿¡ ÀÇÇÑ Ä¿¸àµåÇàÀÇ Á¦ÇÑÀ¸·ÎºÎÅÍ ÇØ¹æµË´Ï´Ù.

Àμö ÆÄÀÏ¿¡´Â ¿É¼Ç°ú ÆÄÀϸíÀ» Æ÷ÇÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÆÄÀϳ»ÀÇ °¢ Àμö´Â, ½ºÆäÀ̽º ¶Ç´Â °³ÇàÀ¸·Î ´Ü¶ôÁþ½À´Ï´Ù. Àμö ÆÄÀϳ»ÀÇ ÆÄÀϸíÀº, ÇöÀçÀÇ µð·ºÅ丮·ÎºÎÅÍ º» »ó´ë ÆÐ½º°¡ µË´Ï´Ù. Àμö ÆÄÀÏÀÇ À§Ä¡·ÎºÎÅÍ º» »ó´ë ÆÐ½º°¡ ¾Æ´Õ´Ï´Ù. ¿ÍÀϵå Ä«µå (*) (Àº)´Â, Åë»óÀ̶ó¸é operating system ½©¿¡ ÀÇÇØ ¸ðµç ¹®ÀÚ·Î ÇØ¼®µË´Ï´Ù¸¸, ÀÌ °æ¿ì´Â ÇØ¼®µÇÁö ¾Ê½À´Ï´Ù. Àμö ÆÄÀϳ»ÀÇ Àμö·Î @ ¹®ÀÚ¸¦ »ç¿ëÇØ, º¹¼öÀÇ ÆÄÀÏÀ» Àç±ÍÀûÀ¸·Î ÇØ¼®ÇÏ´Â °ÍÀº ¼­Æ÷Æ®µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¶Ç,-J ¿É¼Çµµ ¼­Æ÷Æ®µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÀÌ ¿É¼ÇÀº ±âµ¿ Åø¿¡°Ô °Ç³×Áý´Ï´Ù¸¸, ±âµ¿ Åø¿¡¼­´Â Àμö ÆÄÀÏÀ» ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.

jar ¸¦ ½ÇÇàÇÒ °æ¿ì¿¡, °¢ Àμö ÆÄÀÏÀÇ ÆÐ½º¿Í ÆÄÀϸíÀÇ ¼±µÎ¿¡ @ ¹®ÀÚ¸¦ ºÙ¿© °Ç³×ÁÝ´Ï´Ù. jar ´Â,@ ¹®ÀÚ·Î ½ÃÀ۵Ǵ Àμö¸¦ ã¾Æ³»¸é(ÀÚ), ±× ÆÄÀÏÀÇ ³»¿ëÀ» Àü°³ÇØ Àμö ¸®½ºÆ®¿¡ »ðÀÔÇÕ´Ï´Ù.

¿¹¸¦ µé¾î, ´ÙÀ½°ú °°ÀÌ ÇØ, ¡¸classes.list¡¹¶ó°í ÇÏ´Â ´ÜÀÏÀÇ Àμö ÆÄÀÏ¿¡, º¹¼öÀÇ ÆÄÀÏÀÇ À̸§À» º¸Á¸ ÇÕ´Ï´Ù.

C:\Java> dir /b *. class > classes.list

°è¼ÓµÇ¾î, ÀÌ Àμö ÆÄÀϳ»ÀÇ ÆÄÀϸíÀ» °Ç³×ÁÖ´Â jar Ä¿¸àµå¸¦ ½ÇÇàÇÕ´Ï´Ù.

C:\Java> jar cf my.jar @classes.list
Àμö ÆÄÀÏÀº, ÆÐ½º¸¦ ºÙ¿© °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù¸¸, »ó´ë ÆÐ½º¸¦ ºÙÀÎ Àμö ÆÄÀÏ ³»ºÎÀÇ ¸ðµç ÆÄÀÏ¸í¿¡´Â, °Ç³×¹Þ´Â ÆÐ½º´Â ¾Æ´Ï°í, ÇöÀçÀÇ ÀÛ¾÷ µð ·¹Å©Æ®¸®¿¡ ´ëÇÑ »ó´ë ÆÐ½º¸¦ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
C:\Java> jar @path1/classes.list

·Ê

ƯÁ¤ÀÇ µð·ºÅ丮³»ÀÇ ¸ðµç ÆÄÀÏÀ» ¾îÄ«À̺ê(archive)¿¡ Ãß°¡ÇÑ´Ù (±× ¾îÄ«À̺ê(archive)°¡ ¹ú½á Á¸ÀçÇÏ´Â °æ¿ì´Â, ±× ³»¿ëÀ» µ¡¾²±âÇÑ´Ù) ¿¡´Â, ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù. v ¿É¼ÇÀ» »ç¿ëÇØ »ó¼¼ÇÏ°Ô ¿­°ÅÇϸé(ÀÚ), »çÀÌÁ ÃÖ½ÅÀÇ °»½ÅÀÏ µî, ¾îÄ«À̺ê(archive)³»ÀÇ ÆÄÀÏ¿¡ ´ëÇÑ »ó¼¼ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
C:\Java> dir
12/09/96 12:20a <DIR> .
12/09/96 12:17a <DIR> ..
12/09/96 12:18a 946 1. au
12/09/96 12:18a 1,039 2. au
12/09/96 12:18a 993 3. au
12/09/96 12:19a 48,072 spacemusic.au
12/09/96 12:19a 527 at_work.gif
12/09/96 12:19a 12,818 monkey.jpg
12/09/96 12:19a 16,242 Animator.class
12/09/96 12:20a 3,368 Wave.class
10 File(s) 91,118 bytes

C:\Java> jar cvf bundle.jar *
adding manifest
adding: 1. au
adding: 2. au
adding: 3. au
adding: Animator.class
adding: Wave.class
adding: at_work.gif
adding: monkey.jpg
adding: spacemusic.au

¹ú½á È­»ó, À½¼º ÆÄÀÏ, ¹× Ŭ·¡½º¿ëÀÇ ¼­ºê µð·ºÅ丮·Î ³ª´©°í ÀÖ´Â °æ¿ì´Â, À̰͵éÀ» ´ÜÀÏÀÇ JAR ÆÄÀÏ¿¡ °áÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù.
C:\Java> dir
12/09/96 12:11a <DIR> .
12/09/96 12:17a <DIR> ..
12/03/96 06:54p <DIR> audio
12/06/96 02:02p <DIR> images
12/09/96 12:10a <DIR> classes
5 File(s) 207,360 bytes

C:\Java> jar cvf bundle.jar audio classes images
adding: audio/1.au
adding: audio/2.au
adding: audio/3.au
adding: audio/spacemusic.au
adding: classes/Animator.class
adding: classes/Wave.class
adding: images/monkey.jpg
adding: images/at_work.gif

C:\Java> dir
12/09/96 12:11a <DIR> .
12/09/96 12:17a <DIR> ..
12/09/96 12:11a 207,360 bundle.jar
12/03/96 06:54p <DIR> audio
12/06/96 02:02p <DIR> images
12/09/96 12:10a <DIR> classes
6 File(s) 207,360 bytes
JAR ÆÄÀÏÀÇ ¿£Æ®¸®¸íÀ» Ç¥½ÃÇÏ·Á¸é , ¡¸t¡¹¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù.
C:\Java> 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

Ŭ·¡½º ·Îµå¸¦ »¡¸® Çϱâ À§Çؼ­(¶§¹®¿¡) À妽º ÆÄÀÏÀ» JAR ÆÄÀÏ¿¡ Ãß°¡ÇÏ·Á¸é , ¡¸i¡¹¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù.

ÁÖ½Ä °Å·¡ ¾îÇø®ÄÉÀ̼ǿëÀÇ »óÈ£ÀÇÁ¸ÇÑ Å¬·¡½º¸¦, 3 °³ÀÇ JAR ÆÄÀÏ,main.jar,buy.jar, ¹× sell.jar ¿¡ ºÐÇÒÇØ º¾½Ã´Ù. ´ÙÀ½°ú °°ÀÌ main.jar ±×¸®°í Ŭ·¡½º ÆÐ½º ¼Ó¼ºÀ» ÁöÁ¤ÇÑ´Ù°í ÇÕ´Ï´Ù.
Class-Path: buy.jar sell.jar
°è¼ÓµÇ¾î ´ÙÀ½°ú °°ÀÌ i ¿É¼ÇÀ» »ç¿ëÇϸé(ÀÚ), ¾îÇø®ÄÉÀ̼ÇÀÇ Å¬·¡½º ·Îµå¸¦ °í¼ÓÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.
C:\Java> jar i main.jar
ÀÌ °æ¿ì, INDEX.LIST ÆÄÀÏÀÌ META-INF µð·ºÅ丮¿¡ Ãß°¡µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ¾îÇø®ÄÉÀ̼ÇÀÇ Å¬·¡½º ·Î´õ°¡ Ŭ·¡½º ¶Ç´Â ÀÚ¿øÀ» °Ë»öÇÒ ¶§¿¡, ÁöÁ¤µÈ JAR ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

°ü·Ã Ç׸ñ

¡¸JAR ÆÄÀÏÀÇ °³¿ä¡¹
¡¸JAR ÆÄÀÏÀÇ »ç¾ç¡¹
¡¸JAR À妽º¡¹
¡¸JAR Æ©Å丮¾ó¡¹ (Java ¼ÒÇÁÆ®¿þ¾îÀÇ Web »çÀÌÆ®³»)
¡¸pack200 ·¹ÆÛ·±½º ÆäÀÌÁö¡¹

Copyright ? 2004 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java ¼ÒÇÁÆ®¿þ¾î