क्या ग्रोवी के लिए मानक या अनुशंसित गेटोपेट लाइब्रेरी है जो मुझे ग्रोवी में लंबी और छोटी कमांड लाइन बहस को तुरंत संसाधित करने की अनुमति देगी?ग्रोवी के लिए GetOpts?
ग्रूवी foo.groovy --fname = foo.txt --output = foo.html --verbose
क्या ग्रोवी के लिए मानक या अनुशंसित गेटोपेट लाइब्रेरी है जो मुझे ग्रोवी में लंबी और छोटी कमांड लाइन बहस को तुरंत संसाधित करने की अनुमति देगी?ग्रोवी के लिए GetOpts?
ग्रूवी foo.groovy --fname = foo.txt --output = foo.html --verbose
में इस्तेमाल कर सकते हैं आप आसानी ग्रूवी CliBuilder (जो आंतरिक रूप से अपाचे कॉमन्स Cli उपयोग करता है) इस्तेमाल कर सकते हैं एक और जावा पुस्तकालय है।
आप का एक अच्छा उदाहरण मिल जाएगा कि यह कैसे यहाँ एक बार मैं Groovy Option Parser लिखा था इस कार्य को पूरा करने पर एक बार काम करता है =>http://www.reverttoconsole.com/blog/codesnippets/groovy-clibuilder-in-practice/
def cli = new CliBuilder()
cli.with {
usage: 'Self'
h longOpt:'help', 'usage information'
i longOpt:'input', 'input file', args:1
o longOpt:'output', 'output file',args:1
a longOpt:'action', 'action to invoke',args:1
d longOpt:'directory','process all files of directory', args:1
}
def opt = cli.parse(args)
def action
if(args.length == 0) {
cli.usage()
return
}
if(opt.h) {
cli.usage()
return
}
if(opt.i) {
input = opt.i
}
...
ग्रूवी के प्रमुख शक्तियों में से एक जावा के साथ अंतर है। इसलिए, ग्रोवी में उपयोग करने के लिए पुस्तकालयों की तलाश करते समय, मेरी पहली प्रवृत्ति मौजूदा जावा पुस्तकालयों को देखना है।
Args4j आदेश पंक्ति विकल्प और यह ग्रूवी वर्गों के साथ पूरी तरह से काम करता है पार्स करने के लिए एक संक्षिप्त और सुरुचिपूर्ण पुस्तकालय है। मैंने ग्रोवी के साथ काम करने के लिए tutorial के कुछ हिस्सों को फिर से लिखा है।
import org.kohsuke.args4j.Option;
class Business {
@Option(name="-name",usage="Sets a name")
String name
public void run() {
println("Business-Logic")
println("-name: " + name)
}
}
के साथ संकलित करें:
groovyc -classpath .:args4j-2.0.12/args4j-2.0.12.jar Business.groovy
और
java -cp .:args4j-2.0.12/args4j-2.0.12.jar:/usr/share/java/groovy/embeddable/groovy-all-1.6.4.jar -Dmainclass=Business org.kohsuke.args4j.Starter -name sample
साथ इसे चलाने के उत्पादन
Business-Logic
-name: sample
प्राप्त करने के लिए
निम्नलिखित ग्रूवी वर्ग पर विचार करें
Apache Commons CLI कि आप ग्रूवी
। यह बहुत सीधे आगे है और कुछ niceties है।