2012-04-15 15 views
15

मैं अपने wsdl फ़ाइल से स्रोत उत्पन्न करने के लिए cxf-codegen-plugin प्राप्त करने का प्रयास कर रहा हूं। Wsdl2java मैन्युअल को कॉल करते समय वांछित कक्षाएं उत्पन्न होती हैं लेकिन एमवीएन जेनरेट-स्रोत का उपयोग करते समय कुछ भी नहीं होता है और मुझे संदेश मिलता है "प्रोजेक्ट के लिए कोई लक्ष्य आवश्यक नहीं है"। प्लगइन को कॉल करना सीधे मदद नहीं करता है।cxf-codegen-plugin स्रोत उत्पन्न नहीं करता

मेरी poms से

निकालने इस प्रकार है:

<plugin> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-codegen-plugin</artifactId> 
    <version>2.5.2</version> 
    <executions> 
     <execution> 
      <id>generate-sources</id> 
      <phase>generate-sources</phase> 
      <configuration> 
       <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
       <wsdlOptions> 
        <wsdlOption> 
         <wsdl>${basedir}/src/main/MyServiceInterface.wsdl</wsdl> 
        </wsdlOption> 
       </wsdlOptions> 
      </configuration> 
      <goals> 
       <goal>wsdl2java</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

उत्तर

18

कि बहुत तरह से मैं (सफलतापूर्वक) अपनी परियोजनाओं में से एक में है कि प्लगइन कॉन्फ़िगर तरह लग रहा है; मैं काम करने की उम्मीद करता हूं। (मेरा मानना ​​है कि आप <sourceRoot> को छोड़ सकते हैं; इसके लिए डिफ़ॉल्ट सेटिंग वह है जिसे आपने कहा है।)

एकमात्र चीज जो मैं सोच सकता हूं वह होगा यदि आपने प्लगइन कॉन्फ़िगरेशन को एक गैर-सक्रिय मेवेन में रखा होगा सीधे <plugins> अनुभाग के बजाय <pluginManagement> अनुभाग में प्रोफ़ाइल या (अधिक संभावना); प्लगइन प्रबंधन अनुभाग प्लगइन्स की कॉन्फ़िगरेशन के पहलुओं को ओवरराइड करता है, लेकिन वास्तव में उन्हें उपयोग के लिए सक्षम नहीं करता है। (हालांकि यह स्पष्ट उपयोग को प्रभावित करता है; मुझे पता है कि आप ऐसा नहीं करना चाहते हैं।)

+0

प्लगइन प्रबंधन यह था। धन्यवाद – Vespasian

+0

@ वेस्पासियन मदद करने के लिए खुश है। –

2

कम से कम मेरे मामले में, मैंने सोचा कि यह स्रोत कोड भी उत्पन्न नहीं कर रहा था, लेकिन वास्तव में यह था। मुद्दा यह था कि फ़ोल्डर लक्ष्य/जेनरेट/सीएक्सएफ को ग्रहण द्वारा स्रोत फ़ोल्डर के रूप में नामित किया गया था, जिसे मैंने मैन्युअल रूप से नहीं किया था। तो स्रोत मेरे प्रोजेक्ट के शीर्ष पर, पैकेज संरचना में, नीचे फ़ोल्डर संरचना में नहीं था, जहां मैं देख रहा था और उम्मीद कर रहा था।

0

मेरे मामले में जब तक मेरी पुरानी लक्ष्य निर्देशिका (<sourceRoot>/path/to/target</sourceRoot> में परिभाषित) कुछ भी उत्पन्न नहीं हो रहा था। केवल लक्ष्य फ़ोल्डर को हटाने के बाद मैन्युअल रूप से प्लगइन स्रोतों को उत्पन्न करना शुरू कर दिया।

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