it-swarm.com.de

IntelliJ - Konvertiert ein Java Projekt / Modul in ein Maven Projekt / Modul

Ich habe ein Projekt auf Bitbucket. Es werden nur die Quellen übergeben. Um das Projekt auf einen neuen Computer abzurufen, habe ich in IntelliJ die Versionskontrolle> Auschecken aus der Versionskontrolle verwendet.

Anschließend wird gefragt, ob ich aus dieser Quelle ein neues Projekt erstellen möchte, auf das ich mit Ja antworte. So weit, ist es gut. Es erstellt für mich ein nettes kleines Java Projekt, das aus einem einzelnen Modul besteht.

Mein Ziel bei der Integration dieses Projekts in IntelliJ war es jedoch, es in ein Maven-Projekt umzuwandeln. Ich kann nirgendwo eine Option finden, mit der ich das machen kann!

Gibt es eine Möglichkeit, IntelliJ einfach eine leere pom.xml mit einem Namen, einer Artefakt-ID und einem Repository für mich generieren zu lassen? Oder gibt es überhaupt eine Möglichkeit, das Projekt als Maven-Projekt zu importieren? (Immer wenn ich versuche, ein Projekt aus einer vorhandenen Quelle zu erstellen, habe ich nur die Möglichkeit, ein Java - Projekt zu erstellen.)

389
Neil Traft

Klicken Sie mit der rechten Maustaste auf das Modul, wählen Sie "Framework-Unterstützung hinzufügen ..." und überprüfen Sie die "Maven" -Technologie.

(Dadurch wird auch ein pom.xml erstellt, den Sie ändern können.)

Wenn Sie Quell-Repository-Elemente hinzufügen möchten, müssen Sie dies meines Erachtens manuell tun - nicht sicher.

Pre-IntelliJ 13 konvertiert das Projekt nicht in das Maven Standard Directory Layout , 13+ wird es.

743
Dave Newton

Ein Bild für alle, die davon profitieren.

enter image description here

Nachdem Sie mit der rechten Maustaste auf den Projektnamen geklickt haben ("Test" in diesem Beispiel), wählen Sie "Framework-Unterstützung hinzufügen" und aktivieren Sie die Option "Maven".

67
Crt
  1. Öffnen Sie "Maven-Projekte" (Registerkarte auf der rechten Seite).
  2. Verwenden Sie 'Add Maven Projects'
  3. Finden Sie Ihre pom.xml
29
FazoM

Ich möchte den wichtigen Hinweis hinzufügen, dass das Konvertieren eines Projekts wie dieses Nebenwirkungen haben kann, die sich bemerkbar machen, wenn Sie ein größeres Projekt haben. Dies ist darauf zurückzuführen, dass Intellij Idea (2017) einige wichtige Einstellungen nur aus der pom.xml übernimmt, was zu Verwirrung führen kann. Zumindest folgende Abschnitte sind betroffen:

  1. Anmerkungseinstellungen werden für die Module geändert
  2. Der Compiler-Ausgabepfad wird für die Module geändert
  3. Ressourceneinstellungen werden vollständig ignoriert und nur aus pom.xml übernommen
  4. Modulabhängigkeiten sind durcheinander und müssen überprüft werden
  5. Die Sprach-/Kodierungseinstellungen werden für die Module geändert

All diese Punkte müssen überprüft und angepasst werden, aber danach funktioniert es wie ein Zauber.

Außerdem wurde leider keine ausreichende pom.xml-Vorlage erstellt. Ich habe ein Beispiel hinzugefügt, das bei der Lösung der meisten Probleme hilfreich sein könnte.

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

Dies hat es für mich behoben: Öffnen Sie die Registerkarte "Maven-Projekte" auf der rechten Seite. Fügen Sie den POM hinzu, falls er noch nicht vorhanden ist, und klicken Sie dann oben links auf der Registerkarte auf Aktualisieren.

2
ZoltanT

Ich hatte ein anderes Szenario, bin aber trotzdem auf diese Antwort gestoßen.
Ich hatte meinen Root-Projektordner importiert, der mehrere Maven-Projekte, aber auch einige andere in diesem Projekt verwendete Elemente enthielt.
IntelliJ erkannte die Java -Dateien, löste jedoch die Maven-Abhängigkeiten nicht auf.

Ich habe das behoben, indem ich mit der rechten Maustaste auf jeden Pom geklickt habe und dann "Als Maven-Projekt hinzufügen"

2
John Blackwell

Ich habe das gleiche Problem behoben, indem ich die folgenden Schritte ausgeführt habe:

  1. Datei> Projekt schließen

  2. Projekt importieren

  3. Wählen Sie Ihr Projekt über das Systemdatei-Popup aus

  4. Aktivieren Sie das Optionsfeld "Projekt von externem Modell importieren" und wählen Sie "Maven-Eintrag"

  5. Und ein paar Next Buttons (wähle JDK, ...)

Dann wird das Projekt als Maven-Modul importiert.

1
Walid Ammou

Am einfachsten ist es, das Projekt direkt als Maven-Projekt hinzuzufügen. Klicken Sie dazu im Projektexplorer links mit der rechten Maustaste auf die POM-Datei für das Projekt. Unten im Kontextmenü wird die Option "Als Maven-Projekt hinzufügen" angezeigt. Klicken Sie darauf. Dadurch wird das Projekt automatisch in ein Maven-Projekt konvertiert

0
Tester Man