2011-12-11 11 views
7

मेरे पास myfile.jar नामक एक .jar फ़ाइल है। इस जार फ़ाइल के अंदर छवियों नामक एक फ़ोल्डर है। छवियों नामक इस फ़ोल्डर के अंदर, मेरे पास hi.png नामक एक छवि है। मैं उस छवि को उस छवि के एक नए संस्करण के साथ अद्यतन करना चाहता हूं, जिसे hi.png भी कहा जाता है। मैं एकल जार फ़ाइल से सभी फाइलों को निकालना नहीं चाहता हूं और फिर उन्हें दोबारा तैयार करना चाहता हूं, मैं बस छवि को अपडेट करना चाहता हूं। तो, मैं हमेशा की तरह लाइन को आदेश कोड की कुछ लाइनें टाइप जाना, और फिर मैं इस आदेश कार्य करें:मैं पूरे जार को दोबारा बिना किसी जार में एक फ़ाइल कैसे अपडेट करूं?

jar uf myfile.jar -C images hi.png 

मुझे लगता है कि आदेश के साथ क्या करना आशा व्यक्त की क्या नए के साथ पुराने hi.png को बदलने के लिए था hi.png। लेकिन, यह मुझे यह त्रुटि देता है:

images\hi.png : no such file or directory 

इसे ठीक करने के लिए मैं क्या करूँ?

अतिरिक्त जानकारी: मैं WinRAR की तरह कुछ उपयोग नहीं कर सकता, मुझे इसे कमांड लाइन के साथ करना है।

+0

** जार ** फ़ाइलों को भी ** ज़िप ** फ़ाइलें, इसलिए सुविधा पैक कर रहे हैं [ज़िप उपकरण] (http://linux.about.com/ od/command/l/blcmdl1_zip.htm) उन पर काम कर सकते हैं। यदि आप गैर-विंडोज़ पर हैं, तो आपको इसे पहले ही इंस्टॉल करना चाहिए था। (मुझे लगता है कि मैकोज़ के पास यह होगा, लेकिन मैं सत्यापित नहीं कर सकता।) – FakeRainBrigand

+0

सुनिश्चित नहीं है कि आपका डिज़ाइन यहां क्या है ... लेकिन 7Zip में एक महान कमांड लाइन समर्थन है। बस सावधान रहें, जार विनिर्देश सटीक प्रकार के ज़िप के बारे में picky है। दूसरा, यदि आप वेब आधारित हैं तो आप शायद विस्तारित जार का उपयोग कर सकते हैं। और ... यदि यह वेब आधारित नहीं है (एकल क्लाइंट) क्यों न केवल छवि को ./images/hi.png से लोड करें। टी एल; डॉ; यदि आप फाइल सिस्टम पर स्वैप कर रहे हैं तो फाइल सिस्टम का उपयोग करें, यह आसान तरीका है। –

+0

आप इस निर्देशिका में क्या निर्देशिका कर रहे हैं (और छवियां और hi.png आपके सीडब्ल्यूडी के सापेक्ष कहां हैं)? –

उत्तर

19

-C स्थानीय निर्देशिका बदल रहा है, और hi.png के लिए देख रहा है। यह नियंत्रित नहीं है कि आप इसे JAR फ़ाइल में इंजेक्ट करने का प्रयास कर रहे हैं।

मैं एक नया निर्देशिका images कहा जाता है, जिससे अपने स्थानीय hi.png कि में जाने की कोशिश करेगा, images अपने वर्तमान कार्यशील निर्देशिका का एक बच्चा निर्देशिका बनाने, तो बस इस चलाएँ:

jar uf myfile.jar images\hi.png 
+0

यह अभी भी मुझे त्रुटि छवियां देता है \ hi.png: ऐसी कोई फ़ाइल या निर्देशिका –

+1

छवियों/hi.png को भी आजमाएं। – joev

+0

मैंने वास्तव में इसका परीक्षण किया, और यह उम्मीद के अनुसार काम कर रहा है। सुनिश्चित करें कि आपकी कार्य निर्देशिका निर्देशिका "छवियों" वाली निर्देशिका है। क्या आप निर्देशिका कमांड और सटीक आदेशों को दिखा रहे हैं जो आप कोशिश कर रहे हैं कमांड प्रॉम्प्ट का निर्यात दिखा सकते हैं? जोव की टिप्पणी के लिए – ziesemer

2

आप एक को संपादित करना चाहता है तो टेक्स्ट फ़ाइल, आप इसे सीधे vim के साथ कर सकते थे।

(मान लें कि आप CentOS पर unzip उपलब्ध है, उदा yum install -y unzip है)

vim my.jar

+0

ए .jar फ़ाइल एक टेक्स्ट फ़ाइल नहीं है। – EJP

5

करने के लिए उपयोग कर रहा है 7-ज़िप सॉफ्टवेयर का सबसे सरल तरीका। के लिए

  1. संपादन एक फ़ाइल:

    • ओपन जार फ़ाइल 7-जिप | खुला संग्रह
    • फ़ाइल मिली /Meta-Inf/xyz.conf
    • सही माउस क्लिक करें और चुनें विकल्प
    • संपादित फ़ाइल ' अंदर खुला' और फ़ाइल
    • बचाने 7-ज़िप कंसोल को बंद करने और इसके पूर्ण हो जाने।
  2. जोड़ने/जगह/ एक फ़ाइल को हटाने के लिए

    • वांछित फ़ोल्डर तक पहुंचने तक पहले दो चरणों का पालन करें।
    • निकाला जा रहा है: फ़ाइल
    • जोड़ना हटाना: खींचें और 7-ज़िप कंसोल के लिए फ़ाइल ड्रॉप।
    • कंसोल बंद करें और यह हो गया है।
1

आप उपयोग कर सकते jar -uf sample.jar [path in jar file]target-file

संबंधित मुद्दे