जार को बाहर निकालने और इसे फिर से बनाने के बिना जार / युद्ध से किसी फ़ाइल को हटाने का एक त्वरित तरीका है?


105

तो मुझे एक जार / युद्ध फ़ाइल से एक फ़ाइल को निकालने की आवश्यकता है। मुझे उम्मीद थी कि "jar -d myjar.jar file_I_donot_need.txt" जैसा कुछ था

लेकिन अभी मैं अपने लिनक्स कमांड लाइन से ऐसा करने का एकमात्र तरीका देख सकता हूं (बिना WinRAR / Winzip या लिनक्स के उपयोग के बराबर है)

  • "जार -xvf" करें और
    संपूर्ण जार फ़ाइल निकालें
  • उस फ़ाइल को निकालें, जिसकी मुझे आवश्यकता नहीं है
  • "Jar -cvf" का उपयोग करते हुए जार फ़ाइल को रीजर करें

कृपया बताएं कि क्या कोई छोटा रास्ता है?


3
चूंकि "जार" सिर्फ एक ज़िप फ़ाइल है, मुझे संदेह है कि आपको superuser.com पर बेहतर भाग्य मिलेगा ।
कर्क वॉक

आप पूरी प्रक्रिया को लपेटने के लिए शेल स्क्रिप्ट लिखने का भी प्रयास कर सकते हैं। कुछ इस तरह./myscript.sh -d <list of files>
फावोनियस

जवाबों:


202
zip -d file.jar unwanted_file.txt

जार सब के बाद सिर्फ एक ज़िप फ़ाइल है। निश्चित रूप से असुविधाजनक / पुन: व्यवस्थित करने की तुलना में बहुत तेज़ है।


3
मेरे पास अक्सर p7zip स्थापित होता है zipऔर इस मामले में यह फ़ाइल प्रारूप को निर्दिष्ट करने के लिए महत्वपूर्ण है:7z d -tzip file.jar dir/unwanted_file.txt
lapo

@ मार्टोना मुझे निम्न त्रुटि हो रही है: ज़िप त्रुटि: ज़िप फ़ाइल संरचना
गोलर444

@ Goaler444 मेरे पास एक ही त्रुटि थी, लेकिन 7z का उपयोग करने के रूप में लैपो ने सुझाव दिया कि मेरे लिए काम किया।
yby

चाइल्ड जार या ग्रैंड चाइल्ड जार से फाइल कैसे डिलीट करें?
टॉम

5
यदि आप जार में एक फ़ोल्डर को हटाना चाहते हैं, तो सुनिश्चित करें कि अवांछित फ़ोल्डर पर एक अनुगामी स्लैश है:zip -d file.jar unwanted_folder/
मार्टिन वूल्स्टनहुलमे

1

जावा में आप एक जार की सभी प्रविष्टियों को कॉपी कर सकते हैं सिवाय एक जिसे आप हटाना चाहते हैं। यानी आपको एक कॉपी बनानी होगी लेकिन अलग-अलग फाइल बनाने की जरूरत नहीं है।

आप इससे कर सकते हैं

  • एक नया जार बनाना।
  • हालांकि यह आपके पास है
  • एक जार से दूसरे में प्रवेश की प्रतिलिपि बनाएँ, किसी भी फाइल को छोड़ दें जो आप चाहते हैं।
  • यदि आप चाहते हैं तो ऑर्गैनिक जार को बंद करें और बदलें।

0

यदि आप हस्ताक्षरित जार को अनसाइन करने के लिए फ़ाइल को हटाना चाहते हैं, तो आप शायद .RSA फ़ाइल को शून्य-आकार का बना सकते हैं। यह बस के साथ पूरा किया जा सकता है jar uHttps://stackoverflow.com/a/24678645/653539 देखें । (मेरे लिए काम किया, हालांकि मैं मानता हूं कि यह हैक है।)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.