निष्पादन के समय मैं जार फ़ाइल में पैरामीटर कैसे पास करूं?


101

निष्पादन के समय मैं एक JAR फ़ाइल में पैरामीटर कैसे पारित कर सकता हूं?

जवाबों:


145

जार में तर्क पारित करने के लिए:

java -jar myjar.jar one two

आप उन्हें "मेन-क्लास" की मुख्य () पद्धति ( manifest.mfएक JAR की फ़ाइल में उल्लिखित ) तक पहुँचा सकते हैं।

String one = args[0];  
String two = args[1];  

40

जावा प्रलेखन का कहना है :

जावा [विकल्प] -jar file.jar [तर्क ...]

तथा

... क्लास के नाम या JAR फ़ाइल नाम के बाद गैर-विकल्प तर्क मुख्य फ़ंक्शन को दिए जाते हैं ...

हो सकता है कि आपको तर्कों को एकल उद्धरणों में रखना पड़े।


7
यह लिंक मर चुका है।
bfontaine

1
यहाँ जावा की जार उपयोगिता के उपयोग को दर्शाने वाला एक कार्य लिंक है - docs.oracle.com/javase/tutorial/deployment/jar । चीयर्स!
realPK

15

आप इसे कुछ इस तरह से कर सकते हैं, इसलिए यदि कोई तर्क निर्दिष्ट नहीं किया जाता है तो यह वैसे भी जारी रहेगा:

public static void main(String[] args) {
    try {
        String one = args[0];
        String two = args[1];
    }
    catch (ArrayIndexOutOfBoundsException e){
        System.out.println("ArrayIndexOutOfBoundsException caught");
    }
    finally {

    }
}

और फिर एप्लिकेशन लॉन्च करें:

java -jar myapp.jar arg1 arg2

21
आपको अपने कोड को चलाने के लिए अपवादों का उपयोग कभी नहीं करना चाहिए। इसके बजाय, आपको इसे स्वीकार करने से पहले सरणी की लंबाई की जांच करनी चाहिए!
चक 258

1
ठीक है, अगर प्रोग्राम को हमेशा एक या अधिक पैरामीटर होना चाहिए, तो IMHO अपवाद का उपयोग करने के लिए कोई भी वैध मामला नहीं है।
माइक डब्ल्यूडब्ल्यू

6
java [ options ] -jar file.jar [ argument ... ]

यदि आपको log4j गुण फाइल पास करने की आवश्यकता है तो नीचे दिए गए विकल्प का उपयोग करें

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.