2011-10-04 13 views
288

मेरे पास बिटबकेट पर एक प्रोजेक्ट है। केवल स्रोत ही प्रतिबद्ध हैं। प्रोजेक्ट को एक नई मशीन पर पुनर्प्राप्त करने के लिए, मैंने वर्जन कंट्रोल> इंटेलिजेंस से वर्जन कंट्रोल से चेकआउट का इस्तेमाल किया।IntelliJ - एक जावा प्रोजेक्ट/मॉड्यूल को एक मेवेन प्रोजेक्ट/मॉड्यूल में कनवर्ट करें

यह तब पूछता है कि क्या मैं इस स्रोत से एक नई परियोजना बनाना चाहता हूं, जिसके लिए मैं हां जवाब देता हूं। अब तक सब ठीक है. यह मेरे लिए एक अच्छा छोटा जावा प्रोजेक्ट बनाता है, जिसमें एक मॉड्यूल शामिल है।

हालांकि, इस परियोजना को इंटेलिजे में खींचने में मेरा लक्ष्य इसे मैवेन प्रोजेक्ट में बदलना था। मुझे कहीं भी कोई विकल्प नहीं मिल रहा है जो मुझे ऐसा करने देगा!

क्या इंटेलिजे सिर्फ मेरे लिए एक मूल खाली pom.xml उत्पन्न करने का एक तरीका है, एक नाम और एक आर्टिफैक्ट आईडी और एक भंडार के साथ? या, क्या इस परियोजना को पहली जगह मेवेन प्रोजेक्ट के रूप में आयात करने का कोई तरीका है? (जब भी मैं मौजूदा स्रोत से एक प्रोजेक्ट बनाने का प्रयास करता हूं, तो यह मुझे केवल जावा प्रोजेक्ट का विकल्प देता है।)

उत्तर

578

मॉड्यूल पर राइट-क्लिक करें, "फ्रेमवर्क समर्थन जोड़ें ..." चुनें, और "मेवेन" की जांच करें "प्रौद्योगिकी।

(यह भी एक pom.xml बनाता है जिसे आप संशोधित करना के लिए।)

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

प्री-इंटेलिजे 13 यह परियोजना को Maven Standard Directory Layout, 13+ में परिवर्तित नहीं करेगा।

+1

मैं वास्तव में क्या देख रहा था "Maven परियोजना के रूप में"! और हाँ, मेरा मतलब डिफ़ॉल्ट maven2 "केंद्रीय" भंडार तत्व जोड़ना था। लेकिन मैं इसे खुद जोड़ सकता हूं, कोई बड़ा सौदा नहीं। –

+1

कूल। लेकिन आपको इसे जोड़ना नहीं चाहिए; यह पहले से ही डिफ़ॉल्ट है। –

+0

आह, ठीक है फिर से। –

16
  1. ओपन 'मेवेन प्रोजेक्ट' (दाईं ओर टैब) खोलें।
  2. प्रयोग करें 'जोड़े Maven परियोजनाओं'
  3. अपने pom.xml
29

उन है कि यह से लाभ के लिए एक दृश्य का पता लगाएं।

enter image description here

बाद राइट-क्लिक करके इस परियोजना का नाम ("परीक्षण" इस उदाहरण में), चुनें "रूपरेखा समर्थन जोड़ें" और "Maven" विकल्प की जाँच करें।

+5

दृश्य बहुत आसान था – Acewin

1

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

  1. एनोटेशन सेटिंग्स मॉड्यूल
  2. के लिए बदल रहे हैं: इस तथ्य को IntelliJ विचार (2017) केवल pom.xml तो जो कुछ भ्रम की स्थिति को जन्म दे सकता से कुछ महत्वपूर्ण सेटिंग्स लेता है कि कारण, निम्न अनुभागों प्रभावित कर रहे हैं कम से कम है
  3. संकलक उत्पादन पथ मॉड्यूल
  4. संसाधन सेटिंग्स पूरी तरह से और केवल नजरअंदाज कर दिया pom.xml से लिया जाता है
  5. मॉड्यूल निर्भरता में गड़बड़ कर रहे हैं और जाँच करने के लिए है
  6. भाषा/एन्कोडिंग सेटिंग मॉड्यूल
  7. के लिए बदल रहे हैं के लिए बदल गया है

इन सभी बिंदुओं को समीक्षा और समायोजन की आवश्यकता है लेकिन इसके बाद यह आकर्षण की तरह काम करता है।

और अधिक दुर्भाग्यवश कोई पर्याप्त pom.xml टेम्पलेट नहीं बनाया गया है, मैंने एक उदाहरण जोड़ा है जो अधिकतर समस्याओं को हल करने में मदद कर सकता है।

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>Name</groupId> 
<artifactId>Artifact</artifactId> 
<version>4.0</version> 
<properties> 
    <!-- Generic properties --> 
    <java.version>1.8</java.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
</properties> 
<dependencies> 
    <!--All dependencies to put here, including module dependencies--> 
</dependencies> 
<build> 
    <resources> 
     <resource> 
      <directory>${project.basedir}/src/main/java</directory> 
      <excludes> 
       <exclude>**/*.java</exclude> 
      </excludes> 
     </resource> 
     <resource> 
      <directory>${project.basedir}/src/main/resources</directory> 
      <includes> 
       <include>*</include> 
      </includes> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.5.1</version> 
      <configuration> 
       <annotationProcessors/> 
       <source>${java.version}</source> 
       <target>${java.version}</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

0

यह मेरे लिए यह तय: सही पर खुला Maven परियोजनाओं टैब। यदि अभी तक मौजूद नहीं है तो पोम जोड़ें, फिर टैब के ऊपरी बाईं ओर रीफ्रेश पर क्लिक करें।

0

मेरे पास एक अलग परिदृश्य था, लेकिन अभी भी इस उत्तर पर उतरा।
मैंने अपने रूट प्रोजेक्ट फ़ोल्डर को एकाधिक मैवेन प्रोजेक्ट्स आयात किया था, लेकिन इस परियोजना में उपयोग की जाने वाली कुछ अन्य चीजें भी आयात की थीं।
इंटेलिजे ने जावा फाइलों को पहचाना, लेकिन मेवेन निर्भरताओं को हल नहीं किया।

मैं प्रदर्शन से इस तय एक राइट क्लिक करें प्रत्येक पोम पर और फिर

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