2012-11-17 20 views
6

एसबीटी run कार्य के लिए stdin/stdout को पुनर्निर्देशित करने का कोई तरीका है? मैं इसे बैश खोल से कर सकता हूं:एसबीटी रन टास्क में stdin/stdout को रीडायरेक्ट करें

sbt run < myfile.txt 

लेकिन एसबीटी कंसोल से नहीं। यह काम नहीं करता है, उदाहरण के लिए:

> run < myfile.txt 

उत्तर

2

आप एक कस्टम runWithInput कार्य जो इनपुट एक तर्क फ़ाइल से पुनः निर्देशित के साथ एक नया JVM प्रक्रिया चलाकर आप के लिए ऐसा करता है लिख सकते हैं। https://github.com/harrah/xsbt/wiki/Process और https://github.com/harrah/xsbt/wiki/Getting-Started-Custom-Settings देखें।

+0

ओच! हां, स्पष्ट रूप से मैं यह कर सकता हूं, लेकिन मैं उम्मीद कर रहा था कि एक मानक तरीका होगा जिसमें हैकरी के इस स्तर को शामिल नहीं किया गया था। मुझे नहीं लगता :-( –

+0

मुझे यकीन नहीं है कि जब आप 'रन' का आह्वान करते हैं तो एसबीटी एक नई प्रक्रिया चलाता है - मुझे लगता है कि यह संकलित कक्षाओं के साथ एक नया क्लासलोडर बनाता है और उसी जेवीएम से चलता है। सुनिश्चित नहीं है कि यह संभव है मौजूदा जेवीएम में मानक इनपुट को रीडायरेक्ट करें। – axel22

+0

आह हाँ - यह समझ में आता है, मुझे लगता है। एसबीटी प्लगइन के लिए समय, शायद ... –

संबंधित मुद्दे