2012-05-24 18 views
11

में अतिरिक्त स्रोत निर्देशिका को परिभाषित करता है मैं एक wsdl फ़ाइल से जावा स्रोत उत्पन्न करता हूं। ये स्रोत संस्करण नियंत्रण में नहीं हैं (लेकिन wsdl है)। हम maven में cxf-codegen-plugin का उपयोग करते हैं और जेनरेट कक्षाएं <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> में उत्पन्न होती हैं।मैवेन

यह मैवेन में ठीक काम करता है।

मुझे इस निर्देशिका को इंटेलिज आइडिया में अतिरिक्त स्रोत निर्देशिका के रूप में परिभाषित करना है। (target मानक बहिष्कृत है)।

लेकिन हर बार जब मैं इंटेलिज आइडिया (पोम परिवर्तनों के कारण) में मेवेन प्रोजेक्ट को दोबारा आयात करता हूं, तो मुझे आइडिया में प्रोजेक्ट स्ट्रक्चर मैन्युअल रूप से संपादित करना होगा और अतिरिक्त स्रोत निर्देशिका को फिर से परिभाषित करना होगा।

क्या कोई तरीका है कि मैं या तो इस अनुवांशिक स्रोत निर्देशिका को मैवेन में परिभाषित कर सकता हूं, इसलिए आइडिया इसे पुनः लोड पर उठाता है, या आइडिया को मैन्युअल स्रोत डायरेक्ट परिभाषा को न भूलने के लिए कहता है?

+2

आप http://wiki.jetbrains.net/intellij/Maven_FAQ जाँच किया? – CrazyCoder

+0

@CrazyCoder पहले अपनी विकी जांच करनी चाहिए थी। "जेनरेट-सोर्स" ने चाल की। धन्यवाद। क्या आप इसे उत्तर के रूप में पोस्ट कर सकते हैं, इसलिए मैं इसे स्वीकार कर सकता हूं? – bert

उत्तर

11

इस मामले में, IntelliJ IDEA Maven FAQ में वर्णन किया गया जनरेट किया सूत्रों का कहना है अनुभाग:

अपने स्रोत जड़ की सूची निर्दिष्ट करें जब आप एक परियोजना फिर आयात।
आप निम्न विकल्पों में से किसी एक का चयन कर सकते हैं:

  • अपने आप पता लगाएं यह एक डिफ़ॉल्ट विकल्प है। जब आप इस विकल्प का चयन करते हैं, तो IntelliJ IDEA स्वचालित रूप से जेनरेट किए गए स्रोतों के स्थान का पता लगाता है। IntelliJ IDEA यह भी पता लगाता है कि कौन सी निर्देशिका स्रोत रूट के रूप में चिह्नित करने के लिए है। हालांकि, IntelliJ IDEA केवल उत्पन्न/जेनरेट-स्रोतों और लक्ष्य/जेनरेट-स्रोत/* निर्देशिकाओं में जेनरेट किए गए स्रोतों की खोज करता है।

  • लक्ष्य/जेनरेट-स्रोत यह विकल्प आपको निर्देशिका को स्रोत रूट के रूप में चिह्नित करने में सक्षम बनाता है।

  • "लक्ष्य/जेनरेट-स्रोत" की उप-निर्देशिकाएं यह विकल्प आपको उप-निर्देशिका को स्रोत रूट के रूप में मैन्युअल रूप से चिह्नित करने में सक्षम बनाता है।

  • पता नहीं लगाएं यह विकल्प आपको पहचान प्रक्रिया को छोड़ने देता है।

5

<add-source> निर्माण लक्ष्य पर एक नजर डालें

उद्धरण (एक उदाहरण here देखें):

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>build-helper-maven-plugin</artifactId> 
<version>1.4</version> 
<executions> 
    <execution> 
    <id>add-wsdl-source</id> 
    <phase>generate-sources</phase> 
    <goals> 
    <goal>add-source</goal> 
    </goals> 
    <configuration> 
    <sources> 
    <source>${basedir}/src-generated/src</source> 
    </sources> 
    </configuration> 
    <!-- [...] --> 
    </execution> 
</executions> 
</plugin> 
+3

यह लक्ष्य फ़ोल्डर के बाहर स्रोत उत्पन्न करता है और मैं प्रोजेक्ट का निर्माण कर सकता हूं। दुर्भाग्यवश, आइडिया को अभी भी इस अतिरिक्त फ़ोल्डर की मैन्युअल परिभाषा की आवश्यकता है, इसलिए मेरी समस्या बनी हुई है। – bert

0

आप अपने मॉड्यूल के लिए एक निर्भरता के रूप में (बाहरी) स्रोत निर्देशिका को परिभाषित कर सकते हैं। Project Structure -> Modules -> Depenencies। वहां आपको एक नई निर्भरता जोड़नी होगी।

+0

धन्यवाद। आइडिया पोम रीलोड के बाद इस बदलाव को रखता है। जावा फाइलें इस तरह पहचानी जाती हैं। दुर्भाग्य से, आइडिया ऐसी निर्देशिका में फ़ाइलों के वर्ग संदर्भों को हल नहीं करता है। अजीब, मैं furter की जांच करेंगे – bert