2013-04-05 4 views
47

मैं jar कमांड लाइन उपयोगिता का उपयोग कर निर्दिष्ट निर्देशिका में अपने जार निकालना चाहता था।निर्दिष्ट निर्देशिका में जार निकालने

तो मैं समझता हूँ कि यह सही -C विकल्प चाल करना चाहिए लेकिन जब मैं कोशिश

jar xvf myJar.jar -C ./directoryToExtractTo 

मैं अपने जार उपयोगिता से उपयोग की जानकारी हो रही है, इसलिए मैं कुछ गलत कर रहा हूँ।

बात मैं jar साथ प्राप्त चाहते हैं या मैं मैन्युअल रूप से मेरी जार ले जाएँ और वहाँ आह्वान

jar xvf myJar.jar 
+3

मुझे लगता है कि '-C' सिर्फ फाइलें जोड़ने के लिए है। –

+0

शायद, मैंने सोचा कि यह आउटपुट निर्देशिका की specyfying भी है। – Andna

उत्तर

40

यह यह करने के लिए बेहतर है करने की आवश्यकता है है।

नेविगेट फ़ोल्डर संरचना करने की आवश्यकता

तो आप किसी भी unzip उपयोगिता का उपयोग कर सकते हैं आदेश

jar -xvf 'Path_to_ur_Jar_file' 
+6

पत्नी का मैं यह कर सकता था और मैं इस बात से सहमत हूं कि मैं यह कर सकता हूं, मैं सिर्फ यह जानना चाहता था कि क्या मैंने गलत व्याख्या की है- सी विकल्प, और ऐसा लगता है कि यह मामला है। – Andna

+0

शायद "jar xf" के माध्यम से लक्ष्य स्थान निर्दिष्ट करने का यही एकमात्र तरीका है। –

+0

यह मुझे त्रुटि देता है: "अपरिचित विकल्प -xvf – Rushi

40

जार ज़िप संपीड़न का उपयोग का उपयोग करें।

उदाहरण:

$ unzip myJar.jar -d ./directoryToExtractTo

+15

' unzip myJar.jar -d out-directory 'जुबंटू 12.04.1 –

+1

के लिए मुझे अतीत में एक जार बनाने के लिए ज़िप का उपयोग करने में समस्याएं थीं (यह जार कमांड का उपयोग करने के बराबर नहीं है) लेकिन मैं अनजिप करने के लिए बात नहीं कर सकता। मेरी सिफारिश यह है कि आप इसे अपने जोखिम पर इस्तेमाल करें और जार कमांड का उपयोग करने के पक्ष में। – Ring

+0

गनज़िप शिकायत करता है कि जार में एक से अधिक प्रविष्टियां हैं – Almo

8

ऐसा कोई विकल्प जार आदेश अपने आप में उपलब्ध है। the documentation में देखो:

-सी dir अस्थायी रूप से जार आदेश के निष्पादन के दौरान निर्देशिका (सीडी dir) में परिवर्तन निम्नलिखित inputfiles तर्क को संसाधित करते समय। इसका संचालन यूनिक्स टैर उपयोगिता के -सी विकल्प के समान होना है। उदाहरण के लिए: jar uf foo.jar -C कक्षा bar.class कक्षाओं निर्देशिका में बदलता है और उस निर्देशिका से bar.class को foo.jar में जोड़ता है। निम्नलिखित आदेश, जार uf foo.jar -C कक्षाएं। -C bin xyz.class कक्षा निर्देशिका में बदलता है और कक्षा 0 निर्देशिका में सभी फ़ाइलों को जोड़ता है (जार फ़ाइल में निर्देशिका बनाये बिना), फिर मूल निर्देशिका में बदलने से पहले बदल जाता है xyz.class को foo.jar में जोड़ने के लिए बिन निर्देशिका। कक्षाएं फ़ाइलों bar1 और bar2 रखती है, तो यहाँ क्या जार फ़ाइल का उपयोग जार tf foo.jar शामिल है: META-INF/

META-INF/MANIFEST.MF

bar1

bar2

xyz.class

-1

यह मेरे लिए काम करता था।

मैंने एक फ़ोल्डर बनाया और फिर कमांड प्रॉम्प्ट से सीडी विकल्प का उपयोग कर फ़ोल्डर में बदल दिया।

फिर वहां से जार को निष्पादित किया गया।

d:\LS\afterchange>jar xvf ..\mywar.war 
संबंधित मुद्दे