2012-12-29 19 views
14

के लिए एक इंटरैक्टिव खोल बनाने के लिए पुस्तकालय मैं जावा के लिए पुस्तकालयों की तलाश में हूं जो मुझे एक इंटरैक्टिव खोल बनाने की अनुमति देगा। मैंने कुछ खोज किया है और पूरी तरह से नहीं बदला है। जो कुछ मैंने पाया है वह मेरे अनुप्रयोग में कमांड तर्क पार्सिंग जोड़ने के लिए पुस्तकालय है जो मुझे बहुत मदद नहीं करता है।जावा अनुप्रयोग

मुझे मिली सबसे अच्छी लीड Cliche नामक लाइब्रेरी है जो मुझे वही करता है जो मुझे चाहिए। समस्या यह बहुत आसान है। मैं कुछ ऐसी तलाश कर रहा हूं जिसमें अधिक अनुकूलन हो।

क्या कोई भी कुछ और अधिक उन्नत हो गया है?

+0

यदि आप वास्तव में अनुकूलन में हैं, तो आप पार्बोल्ड पर एक नज़र रखना चाहेंगे। – fge

उत्तर

4

this QuestionJLine के अनुसार एक अच्छा प्रयास हो सकता है।

Features of JLine

  • कमान इतिहास - लाइन्स है पहले दर्ज किए गए है कि कर दिया गया उल्लेखनीय है और संपादित किया है और कायम किया जा सकता है इतना है कि वे उपलब्ध
    अपने कार्यक्रम के सभी सत्रों में कर रहे हैं।
  • रेखा संपादन - जेएलइन वर्तमान कमांड लाइन के पूर्ण संपादन की अनुमति देता है और जीएनयू रीडलाइन के जितना संभव व्यवहार के रूप में नकल करने की कोशिश करता है, जिसमें इमाक्स और वीआई कुंजी मैपिंग दोनों के लिए समर्थन शामिल है।
  • पूरा करने - जेएलइन कमांड लाइन टैब पूर्ण करने के लिए एक प्लग करने योग्य तंत्र प्रदान करता है (बेशक पूरा होने पर आपकी इच्छानुसार किसी भी कुंजी को बाध्य किया जा सकता है)।
  • कस्टम कुंजी बाइंडिंग - कुंजी को एक विशिष्ट क्रिया करने के लिए मनमाने ढंग से रीमेप किया जा सकता है, और जेएलिन किसी भी मैपिंग का सम्मान करने का प्रयास करता है जो आपकी मौजूदा रीडलाइन .inputrc फ़ाइल में सेट है।
  • कैरेक्टर मास्किंग - किसी भी दृश्य प्रतिक्रिया के बिना उपयोगकर्ता से इनपुट एकत्र किया जा सकता है। यह पासवर्ड के लिए संकेत देने के लिए उपयोगी है।
  • 99.99% जावा - जेनिन का विशाल हिस्सा सभी जावा है, जो कि जांसी प्रोजेक्ट द्वारा प्रदान किए गए कुछ छोटे मूल कोड का उपयोग करते हैं,
    समर्थन विंडोज़ तक।
+1

जो मैं पढ़ रहा था उसके आधार पर जेलाइन दिखता है कि यह अच्छी तरह से काम करेगा। समस्या यह है कि पुस्तकालय पुस्तकालय के लिए बहुत दुर्लभ प्रतीत होता है। इसके अलावा चिंता का भी अधिक नहीं है लेकिन मुझे लगता है कि जेएलन का कोई उदाहरण इस्तेमाल नहीं किया जा रहा है। – ianc1215

+0

आप स्रोत में एक उदाहरण देख सकते हैं https://github.com/jline/jline2/blob/master/src/test/java/jline/example/Example.java – burna

+0

उनके उदाहरण में ऐसा प्रतीत नहीं होता है। मुझे एक संकेत देने के बजाय यह सिर्फ चलाता है और बंद हो जाता है। मुझे लगता है कि यदि मैं देवताओं के संपर्क में रह सकता हूं और इसका उपयोग कैसे किया जाए, तो कुछ और जानकारी प्राप्त कर सकता हूं। उनके पास JLine2 के लिए JavaDoc नहीं लगता है लेकिन Jline1 के लिए एक है। सहायता के लिए धन्यवाद। – ianc1215

9

विकल्प पर विचार करना:

  • javacurses/JCurses - एक सांत्वना आधारित विंडोइंग टूलकिट, यूनिक्स के समान शाप डिजाइन
  • swing-console यदि आप एक कंसोल-शैली दृश्य/आउटपुट चाहते हैं उपयुक्त हो सकता है एक स्विंग जीयूआई विंडो में। आप इसका उपयोग एक इंटरैक्टिव खोल बनाने के लिए कर सकते हैं।
  • JLine - सांत्वना इनपुट के लिए पुस्तकालय जीएनयू ReadLine के समान
  • कई JVM भाषाओं की पेशकश एक इंटरैक्टिव REPL environment जो एक इंटरैक्टिव खोल, जैसे के रूप में इस्तेमाल किया जा सकता है क्लोजर
+0

अन्य भाषाओं में शापित के साथ मेरे पिछले रन इन्स मेरे लिए एक बड़ा दर्द साबित हुए। लेकिन मेरे लिए कार्यक्षमता प्राप्त करने के लिए मैं देख रहा हूं कि मुझे इसे एक विकल्प के रूप में विचार करना पड़ सकता है। – ianc1215

+2

http://www.beanshell.org/ भी एक अच्छा इंटरैक्टिव वातावरण जोड़ता है। – 9000

+0

जहां तक ​​मैंने बीन्सहेल के बारे में पढ़ा है जो ओवरकिल की तरह लगता है। यह जावा के लिए भाषा के लिए एक पूर्ण उड़ा पटकथा है। – ianc1215

3

हम Spring shell का उपयोग कर रहे हैं, और यह हमारे लिए वास्तव में अच्छा काम करता है।अपनी सुविधाओं में से कुछ:

  • एक सरल, एनोटेशन संचालित है, प्रोग्रामिंग मॉडल कस्टम आदेशों

    एक
    आदेश प्लगइन रणनीति और आदेश develoment

  • के लिए आधार asthe वसंत के classpath स्कैनिंग कार्यक्षमता की
  • उपयोग योगदान करने के लिए

  • रू शैल सुविधाओं की विरासत, सबसे विशेष रूप से टैब पूर्णता, रंगीकरण, और स्क्रिप्ट निष्पादन।

  • कमांड प्रॉम्प्ट, बैनर, खोल इतिहास फ़ाइल नाम का अनुकूलन।