कमांड लाइन के साथ .jar फ़ाइल को निकालना


115

मैं एक .jar फ़ाइल से फ़ाइलों को निकालने की कोशिश कर रहा हूँ। मैं कमांड लाइन का उपयोग कैसे करूँ?

मैं विंडोज 7 चला रहा हूं

जवाबों:


147

से डॉक्स :

जार फ़ाइल से फ़ाइलों को निकालने के लिए, निम्नानुसार उपयोग करें x:

C:\Java> jar xf myFile.jar

जार फ़ाइल से केवल कुछ फ़ाइलें निकालने के लिए, उनके फ़ाइलनाम की आपूर्ति करें:

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

वह फ़ोल्डर जहाँ jarशायद C:\Javaआपके लिए नहीं है, मेरे विंडोज विभाजन पर:

C:\Program Files (x86)\Java\jdk[some_version_here]\bin

जब तक jarआपके पथ के वातावरण चर में स्थान नहीं है, आपको पूर्ण पथ निर्दिष्ट करना होगा या फ़ोल्डर के अंदर से कार्यक्रम चलाना होगा।

संपादित करें: यहाँ एक और लेख है, विशेष रूप से JAR निकालने पर ध्यान केंद्रित: http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html


ठीक है, जब मैं उस जार xf ... कमांड को करता हूं, मुझे त्रुटि मिलती है: 'जार' को आंतरिक या बाहरी कमांड, ऑपरेशनल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता नहीं दी जाती है। मैं यह कैसे तय करुं?
बॉबी सी

1
@ बॉबी: पूर्ण पथ निर्दिष्ट करें jar.exeया इसे फ़ोल्डर के अंदर से चलाएं।
अनुस्वार

धन्यवाद, अब सब ठीक है!
बॉबी सी

2
java। .tools.jar.Main.run (Main.java:242) at sun.tools.jar.Main.main (Main.java:1149) इस त्रुटि को कैसे दूर करें?
अनिलपेल

1
@AnilPatel मैंने प्रशासक के रूप में कमांड प्रॉम्प्ट चलाकर इसे ठीक किया (राइट क्लिक "एडमिनिस्ट्रेटर के रूप में चलाएं")
jessieloo

34

ध्यान दें कि जार फ़ाइल एक ज़िप फ़ाइल है, और कोई भी ज़िप उपकरण (जैसे 7-ज़िप) जार के अंदर देख सकते हैं।


6
कृपया यहाँ देखें, यह आप सभी की आवश्यकता है।
अली

28

उबंटू में:

unzip file.jar -d dir_name_where_extracting


1
उन सिस्टमों के लिए उपयोगी है जिनके पास jarकमांड नहीं है ! CentOS 5.7 पर किसी भी मुद्दे के बिना काम करता है
djthoms

8

आप निम्न आदेश का उपयोग कर सकते हैं: jar xf rt.jar

जहां Xनिकासी के लिए खड़ा है और fकोई भी विकल्प होगा जो इंगित करता है कि JAR फाइल जिसमें से फाइल निकाली जानी है, उसे स्टैण्ड के बजाय कमांड लाइन पर निर्दिष्ट किया गया है।


2

जावा में विशेष रूप से ज़िप फ़ाइलों के लिए एक वर्ग है और विशेष रूप से जार फ़ाइलों के लिए एक और भी है।

java.util.jar.JarOutputStream
java.util.jar.JarInputStream

कंसोल से एक कमांड पर, जो आप कर सकते हैं, एक स्कैनर सेट का उपयोग करके

Scanner console = new Scanner(System.in);
String input = console.nextLine();

फिर सभी घटकों को प्राप्त करें और उन्हें एक फ़ाइल के रूप में लिखें।

JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
    //do stuff with JE
}

आप इसके बजाय java.util.zip.ZipInputStream का उपयोग कर सकते हैं, क्योंकि एक JAR फ़ाइल को ज़िप फ़ाइल के रूप में उसी स्वरूप में देखा गया है, ZipInputStream जार फ़ाइल को संभालने में सक्षम होगा, वास्तव में JarInputStream वास्तव में ZipInputStream का विस्तार करता है।

एक विकल्प भी getNextJarEntry के बजाय getNextEntry का उपयोग करने के लिए है


2

jar xf myFile.jar
अपनी फ़ाइल के नाम के लिए myFile को बदलें।
यह .jar फ़ाइल के वर्तमान फ़ोल्डर में मौजूद सामग्रियों को बचाएगा जो
:) करना चाहिए।


0

Me.Jar नाम की फाइल दी:

  1. Cmd पर जाएं
  2. मारो मारो
  3. जावा jarकमांड का उपयोग करें - मैं jdk1.8.0_31 का उपयोग कर रहा हूं ताकि मैं टाइप करूं

    C: \ Program Files (x86) \ Java \ jdk1.8.0_31 \ bin \ jar xf me kjar

उस फ़ाइल को फ़ोल्डर बिन में निकालना चाहिए। फ़ाइल के लिए देखो। मेरे मामले में। मेरे पास एक वेलेंटाइन है

टाइप करें java Valentineऔर Enter दबाएं और आपकी संदेश फ़ाइल खुल जाएगी।


-3

निर्दिष्ट फ़ोल्डर में जार निकालने के लिए कमांड प्रॉम्प्ट के माध्यम से इस कमांड का उपयोग करें

C:\Java> jar xf myFile.jar -C "C:\tempfolder"

7
यह काम नहीं करता है। -Cजार फ़ाइलों को बनाते समय केवल उपयोग किया जा सकता है।
18

@unwichtich उस स्थिति में, क्या गंतव्य फ़ोल्डर निर्दिष्ट करने का कोई तरीका है?
लाइन

2
आपके द्वारा उपयोग किए जा सकने वाले लिनक्स सिस्टम unzip file.jar -d dir_name_where_extractingपर, आपको अपने JAR को गंतव्य फ़ोल्डर में कॉपी / स्थानांतरित करना होगा और फिर उसे वहां निकालना होगा ...
undichtich
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.