2013-11-22 11 views
20

मैं abc.wsdlwsimport .wsdl: क्यों उत्पन्न .class फ़ाइलें और नहीं .java फ़ाइलें?

जब मैं इस आदेश से एसईआई इंटरफ़ेस जावा फ़ाइलें उत्पन्न करने की कोशिश की के रूप में नामित एक wsdl है

wsimport abc.wsdl 

यह पैकेज पथ में .class फ़ाइलों

लेकिन ABCD उत्पन्न करता है यह किसी भी .java फ़ाइलों को उत्पन्न नहीं किया है।

क्या आप कृपया मुझे बता सकते हैं कि मैं .java फ़ाइलों को उत्पन्न करने में सक्षम क्यों नहीं था?

वास्तव में मैं .wsdl फ़ाइलों में नया हूं।

क्या यह .wsdl फ़ाइल में कहीं भी निर्दिष्ट है .class फ़ाइल उत्पन्न करने के लिए और .java फ़ाइल नहीं?

और

मैं जावा फाइल कैसे बना सकता है?

उत्तर

12

डिफ़ॉल्ट रूप से wsimport केवल कक्षाएं उत्पन्न करता है लेकिन इसका उपयोग स्रोतों को भी ध्वज के साथ उत्पन्न करने के लिए किया जा सकता है। उदाहरण के लिए अपने होने वाली उत्पन्न वर्गों रूट फ़ोल्डर के लिए एक फ़ोल्डर src बनाने के लिए और इस तरह एक कमांड निष्पादित करें:

wsimport -s src http://example.com/webservice?wsdl 

इस तरह अपनी कक्षाओं के रूप में पहले हो जाएगा, लेकिन अपने स्रोतों src फ़ोल्डर पर होगा। विभिन्न wsimport झंडे के बारे में अतिरिक्त जानकारी कमांड लाइन पर wsimport -help दर्ज करके पाई जा सकती है।

39

wsimport जेडीके 1.7 से उपयोगिता java फाइलें उत्पन्न करती है लेकिन उन्हें बाइट-कोड पीढ़ी के बाद class फ़ाइलों को छोड़कर हटा देती है। आप यह निर्दिष्ट करने के लिए विकल्प -keep का उपयोग कर सकते हैं कि आप दोनों रखना चाहते हैं।

wsimport -keep http://example.com/webservice?wsdl 
24

आप वर्गों की जरूरत नहीं है, तो आप wsimport उपकरण की -Xnocompile विकल्प का उपयोग कर सकते हैं।

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