इंटेलीज - जावा प्रोजेक्ट / मॉड्यूल को मावेन प्रोजेक्ट / मॉड्यूल में बदलें


398

मेरे पास Bitbucket पर एक परियोजना है। केवल स्रोत प्रतिबद्ध हैं। एक नई मशीन पर परियोजना को पुनः प्राप्त करने के लिए, मैंने IntelliJ के भीतर से संस्करण नियंत्रण से संस्करण नियंत्रण> चेकआउट का उपयोग किया।

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

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

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

जवाबों:


760

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

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

यदि आप स्रोत रिपोजिटरी तत्वों को जोड़ना चाहते हैं, तो मुझे लगता है कि आपको मैन्युअल रूप से ऐसा करने की आवश्यकता है-निश्चित नहीं।

प्री-इंटेलीज 13 यह प्रोजेक्ट को मावेन स्टैंडर्ड डायरेक्टरी लेआउट में नहीं बदलेगा, 13+ यह होगा।


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

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

46
यदि मेरे पास वह विकल्प नहीं है तो क्या होगा?

2
कौन सा "प्लगइन्स"? मेरे पास 2 मावेन प्लग हैं (इंटेलीज के साथ डिफ़ॉल्ट रूप से आए)। एड फ्रेमवर्क में अभी भी कोई "मावेन" विकल्प नहीं है
निक

1
इस पुरानी पोस्ट को पुनर्जीवित करने के लिए खेद है, लेकिन क्या jsf निर्भरता को पोम में रखने का एक स्वचालित तरीका है? पोम बन जाता है, लेकिन यह खाली है, मैं पोम के अंदर एक जेएसएफ परियोजना की सभी उचित निर्भरता रखना चाहता हूं।
13

76

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

यहां छवि विवरण दर्ज करें

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


यू बहुत बहुत शुक्रिया .....
स्मैक चेरी

31
  1. 'मावेन प्रोजेक्ट्स' खोलें (दाईं ओर टैब)।
  2. 'Add Maven Projects' का उपयोग करें
  3. अपना pom.xml खोजें

1
कई उप परियोजनाओं के दौरान जब मेरे पास एक मूल निदेशक git URL था, तो उप परियोजनाओं को मावेन के रूप में मान्यता नहीं दी गई थी। इस जवाब ने मदद की। यह स्पष्ट करने के लिए, यह कार्यक्षमता मावेन टूल विंडो पर उपलब्ध है।
सिलवेस्टर

इस उत्तर ने मुझे मावेन के लिए ग्रैडल परियोजना को फिर से जोड़ने में मदद की। बस इसे एनालॉग ग्रैडल मेनू पर (माइनस साइन का उपयोग करें) अनलिंक करने की आवश्यकता है।
vphilipnyc

6

मैं एक महत्वपूर्ण संकेत जोड़ना चाहता हूं कि इस तरह की परियोजना को परिवर्तित करने से साइड इफेक्ट हो सकते हैं जो आपके पास एक बड़ी परियोजना होने पर ध्यान देने योग्य हैं। यह इस तथ्य के कारण है कि Intellij Idea (2017) केवल pom.xml से कुछ महत्वपूर्ण सेटिंग्स लेता है, जिससे कुछ भ्रम हो सकता है, निम्न अनुभाग कम से कम प्रभावित होते हैं:

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

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

इससे भी अधिक दुर्भाग्य से कोई पर्याप्त 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>
    <directory>${project.basedir}/target</directory>
    <outputDirectory>${project.build.directory}/classes</outputDirectory>
    <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
    <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
    <testSourceDirectory> ${project.basedir}/src/test/java</testSourceDirectory>

    <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>

2019 संपादित करें:

  • जोड़ा गया पुनरावर्ती संसाधन स्कैन
  • जोड़ा गया विनिर्देश विनिर्देश जो सामग्री रूट संरचना की पहचान करने वाले IDEA के भ्रम से बचने के लिए महत्वपूर्ण हो सकता है

3

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

मैंने प्रत्येक पोम पर राइट-क्लिक करके इसे ठीक किया और फिर "एड फ़ॉर मेवेन प्रोजेक्ट"


3

मैंने नीचे चरणों को करके इस समस्या को हल किया है:

  1. फ़ाइल> प्रोजेक्ट बंद करें

  2. आयात परियोजना

  3. आप सिस्टम फ़ाइल पॉपअप के माध्यम से प्रोजेक्ट चुनें

  4. "बाहरी मॉडल से आयात परियोजना" रेडियो बटन की जांच करें और मावेन प्रविष्टि का चयन करें

  5. और कुछ अगले बटन (JDK, ... चुनें)

तब परियोजना को मावेन मॉड्यूल के रूप में आयात किया जाएगा।


2

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


0

सबसे आसान तरीका यह है कि परियोजना को सीधे मावेन परियोजना के रूप में जोड़ा जाए। ऐसा करने के लिए, बाईं ओर प्रोजेक्ट एक्सप्लोरर में, प्रोजेक्ट के लिए POM फ़ाइल पर राइट-क्लिक करें, संदर्भ मेनू के नीचे की ओर, आपको 'Add as Maven Project' नामक एक विकल्प दिखाई देगा, इसे क्लिक करें। यह प्रोजेक्ट को स्वचालित रूप से मावेन प्रोजेक्ट में बदल देगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.