IntelliJ-تحويل مشروع/وحدة Java إلى مشروع/وحدة Maven




intellij-idea pom.xml (4)

لدي مشروع على Bitbucket. تلتزم فقط المصادر. لاسترداد المشروع على جهاز جديد ، استخدمت ميزة التحكم في الإصدار> Checkout من التحكم في الإصدار من داخل IntelliJ.

ثم يسأل عما إذا كنت أرغب في إنشاء مشروع جديد من هذا المصدر ، وأجيب عليه نعم. حتى الان جيدة جدا. يخلق مشروع جافا صغير لطيف بالنسبة لي ، يتكون من وحدة واحدة.

ومع ذلك ، كان هدفي في سحب هذا المشروع إلى IntelliJ هو تحويله إلى مشروع Maven. لا أستطيع العثور على أي خيار في أي مكان يتيح لي ذلك!

هل هناك طريقة لجعل IntelliJ مجرد توليد pom.xml فارغة الأساسية بالنسبة لي ، مع اسم و artifactId ومستودع؟ أو هل هناك طريقة لاستيراد المشروع كمشروع مافين في المقام الأول؟ (كلما حاولت إنشاء مشروع من مصدر موجود ، فإنه يعطيني فقط خيار مشروع Java.)


  1. فتح "مشاريع مافن" (علامة التبويب على الجانب الأيمن).
  2. استخدم "إضافة مشروعات Maven"
  3. العثور على pom.xml الخاص بك

أريد إضافة التلميح المهم بأن تحويل مشروع مثل هذا يمكن أن يكون له آثار جانبية تكون ملحوظة عندما يكون لديك مشروع أكبر. هذا يرجع إلى حقيقة أن 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>
    <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>


كان لدي سيناريو مختلف ، لكنني لم أزل أحصل على هذه الإجابة.
لقد استوردت مجلد مشروع الجذر الخاص بي الذي يحتوي على العديد من مشاريع Maven ولكن أيضا بعض الأشياء الأخرى المستخدمة في هذا المشروع.
تعرّف IntelliJ على ملفات Java ، لكنه لم يحل تبعيات Maven.

لقد أصلحت هذا عن طريق إجراء نقرة يمينية على كل جزء ثم "إضافة مشروع maven"


مرئي لأولئك الذين يستفيدون منه.

بعد النقر بزر الماوس الأيمن على اسم المشروع ("اختبار" في هذا المثال) ، حدد "إضافة دعم إطار عمل" وتحقق من خيار "Maven".





pom.xml