IntelliJ - Java projesini / modülünü Maven projesine / modülüne dönüştürme


398

Bitbucket ile ilgili bir projem var. Sadece kaynaklar kararlıdır. Projeyi yeni bir makineye almak için IntelliJ içinden Sürüm Denetimi'nden Sürüm Denetimi> Checkout'u kullandım.

Daha sonra bu kaynaktan Evet cevabını verdiğim yeni bir proje oluşturmak isteyip istemediğimi sorar. Çok uzak çok iyi. Tek bir modülden oluşan benim için güzel bir Java projesi yaratıyor.

Ancak, bu projeyi IntelliJ'e çekme hedefim onu ​​bir Maven projesine dönüştürmekti. Bunu yapmama izin verecek hiçbir yerde hiçbir seçenek bulamıyorum!

IntelliJ'in benim için bir ad ve bir artefakt kimliği ve bir depo ile basit bir boş pom.xml oluşturmasının bir yolu var mı? Veya projeyi bir Maven projesi olarak almanın bir yolu var mı? (Ne zaman mevcut kaynaktan bir proje oluşturmaya çalışsam, bana sadece bir Java projesi seçeneği sunuyor.)

Yanıtlar:


760

Modüle sağ tıklayın, "Çerçeve desteği ekle ..." seçeneğini seçin ve "Maven" teknolojisini kontrol edin.

(Bu ayrıca pom.xmldeğiştirmeniz için bir a oluşturur .)

Kaynak veri havuzu öğeleri eklemek istiyorsanız, bunu manuel olarak yapmanız gerektiğini düşünüyorum - emin değilim.

IntelliJ 13 öncesi bu projeyi Maven Standart Dizin Düzenine dönüştürmez , 13+.


3
Tam aradığım şey! Ve evet, varsayılan maven2 "Merkezi" depo öğesini eklemek istedim. Ama bunu kendim ekleyebilirim, önemli değil.
Neil Traft

1
Güzel. Ama bunu eklemenize gerek yok; zaten varsayılan.
Dave Newton

46
Bu seçeneğim yoksa ne olur?

2
hangi "eklentiler"? 2 maven fişleri var (IntelliJ ile varsayılan olarak geldi). Çerçeve Ekle'de hala "Maven" seçeneği yok
Nick

1
Bu eski gönderiyi canlandırdığım için üzgünüm ama jsf bağımlılıklarını pom'a koymanın otomatik bir yolu var mı? Pom yaratılır ama boştur, ben pom içindeki bir jsf projesinin tüm uygun bağımlılıklarına sahip olmak istiyorum.
MrSir

76

Faydalananlar için bir görsel.

resim açıklamasını buraya girin

Proje adına sağ tıkladıktan sonra (bu örnekte "test"), "Çerçeve desteği ekle" yi seçin ve "Maven" seçeneğini işaretleyin.


Thank u so much .....
smack cherry

31
  1. 'Maven projeleri' ni açın (sağ taraftaki sekme).
  2. 'Maven Projeleri Ekle'yi kullanın
  3. Pom.xml'nizi bulun

1
Bir çok alt projede veli müdürüm git URL'm olduğunda, alt projeler Maven olarak tanınmadı. Bu cevap yardımcı oldu. Açıklamak gerekirse, bu işlevsellik Maven Aracı Penceresinde mevcuttur.
Sylvester

Bu cevap, bir Gradle projesini Maven ile yeniden ilişkilendirmeme yardımcı oldu. Sadece benzer Gradle menüsünde eksi işaretini kullanmanız yeterlidir.
vphilipnyc

6

Böyle bir projeyi dönüştürmenin daha büyük bir projeniz olduğunda fark edilebilir yan etkileri olabileceğine dair önemli ipucu eklemek istiyorum. Bunun nedeni, Intellij Idea'nın (2017) sadece pom.xml'den bazı önemli ayarları alması ve bazı karışıklıklara yol açmasıdır, aşağıdaki bölümler en azından etkilenir:

  1. Ek açıklama ayarları modüller için değiştirildi
  2. Derleyici çıkış yolu modüller için değiştirildi
  3. Kaynak ayarları tamamen yok sayılır ve yalnızca pom.xml'den alınır
  4. Modül bağımlılıkları bozuldu ve kontrol edilmesi gerekiyor
  5. Modüller için Dil / Kodlama ayarları değiştirildi

Tüm bu noktaların gözden geçirilmesi ve ayarlanması gerekiyor, ancak bundan sonra çekicilik gibi çalışıyor.

Dahası maalesef oluşturulmuş yeterli pom.xml şablonu yok, çoğu sorunu çözmeye yardımcı olabilecek bir örnek ekledim.

<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'u düzenle:

  • Özyinelemeli kaynak taraması eklendi
  • IDEA'nın içerik kök yapısını yeniden karıştırmasını önlemek için önemli olabilecek dizin belirtimi eklendi

3

Farklı bir senaryom vardı, ama yine de bu cevaba indi.
Birden fazla Maven projesi içeren kök proje klasörümü içe aktardım, ancak bu projede kullanılan diğer bazı şeyleri de içe aktardım.
IntelliJ Java dosyalarını tanıdı, ancak Maven bağımlılıklarını çözmedi.

Her pompayı sağ tıklayıp "Maven projesi olarak ekle" yi kullanarak bunu düzelttim


3

Aşağıdaki adımları uygulayarak da aynı sorunu çözdüm:

  1. Dosya> Projeyi Kapat

  2. İthalat Projesi

  3. Sistem dosyası açılır penceresinden projenizi seçin

  4. "Projeyi harici modelden içe aktar" radyo düğmesini işaretleyin ve Maven girişini seçin

  5. Ve bazı İleri düğmeleri (JDK'yi seçin, ...)

Ardından proje Maven modülü olarak içe aktarılacak.


2

Bu benim için düzeltti: Sağdaki maven projeleri sekmesini aç. Henüz yoksa pom'ı ekleyin, ardından sekmenin sol üst tarafındaki yenile'yi tıklayın.


0

En kolay yol, projeyi doğrudan bir Maven projesi olarak eklemektir. Bunu yapmak için, soldaki proje gezgininde, proje için POM dosyasına sağ tıklayın, içerik menüsünün altına doğru, 'Maven Projesi Olarak Ekle' adlı bir seçenek göreceksiniz, tıklayın. Bu, projeyi otomatik olarak bir Maven projesine dönüştürecektir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.