Frage

Ich habe ein Maven-Multi-Projekt, wenn ich ein neues Eclipse-Projekt daraus erstelle (von M2E 1.0 "Checkout Maven-Projekt von SCM), möchte ich, dass das Eclipse Checkstyle-Plugin für dieses Projekt automatisch konfiguriert ist.

Also habe ich das hinzugefügt maven-eclipse-plugin In Elternpoms <pluginManagement> Abschnitt und konfiguriert es, um zu generieren .checkstyle Datei sowie die zusätzliche Projekt Natur CheckstyleNature. In den Modulpoms fügte ich den Namen der hinzu maven-eclipse-plugin im Build -Abschnitt. Aber wenn ich das Projekt nichts passiert, wird die Datei nicht generiert und die Natur wird nicht hinzugefügt.

Ich denke, ich mache etwas völlig falsch, aber wie wird es richtig gemacht?


Parent POM - Plugin -Management -Abschnitt:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.8</version>
    <configuration>
        <downloadSources>true</downloadSources>
        <downloadJavadocs>false</downloadJavadocs>
        <wtpversion>2.0</wtpversion>
        <additionalBuildcommands>
            <buildCommand>
                <name>org.eclipse.ajdt.core.ajbuilder</name>
                <arguments>
                    <aspectPath>org.springframework.aspects</aspectPath>
                </arguments>
            </buildCommand>
            <buildCommand>
                <name>org.springframework.ide.eclipse.core.springbuilder</name>
            </buildCommand>
        </additionalBuildcommands>
        <additionalProjectnatures>
            <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
            <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
            <projectnature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</projectnature>
        </additionalProjectnatures>
        <additionalConfig>
            <file>
                <name>.checkstyle</name>
                <content>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
  <fileset name="all" enabled="true" check-config-name="My Checkstyle rules" local="false">
    <file-match-pattern match-pattern="." include-pattern="true"/>
  </fileset>
  <filter name="FilesFromPackage" enabled="true">
    <filter-data value="target" />
    <filter-data value="src/main/resources"/>
    <filter-data value="src/test/java"/>
    <filter-data value="src/test/resources"/>
    <filter-data value="src/main/webapp" />
  </filter>
</fileset-config>
]]>
                </content>
            </file>
        </additionalConfig>
    </configuration>
</plugin>

Modul POM - Plugins Abschnitt:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-eclipse-plugin</artifactId>
</plugin>
War es hilfreich?

Lösung

Es gibt detaillierte Antworten auf dieses Thema in Kann ich M2eclipse über pom.xml konfigurieren?:

Die vollständig automatische Konfiguration des Eclipse Checkstyle -Plugins kann nur mit einem ProjectConfigurator, z. M2E-Code-Qualität oder M2E-Auslöser.

Für M2E ab Version 1.0 können Sie sie über den M2E-Marktplatz unter Präferenzen-> Maven-> Discovery-> "Open Catalog" installieren. Für Details siehe die Fehlerverfolgung zur Integration von M2E-Code-Qualität in den M2E-Marktplatz.

Es gibt auch eine Lösung, die auch für Findbugs und Sonar auf Antrun und XMLTask basiert. Es muss nur einmal nach dem Auschecken manuell gelöst werden.

Andere Tipps

Das Maven Eclipse -Plugin ist nicht dasselbe wie das M2E -Plugin für Eclipse, von dem ich annehme, dass Sie es verwenden möchten. Grundsätzlich sollten Sie nicht beide gleichzeitig verwenden.

Sie können MVN Eclipse: Eclipse aus der Befehlszeile verwenden, um Projektdateien zu generieren, und dann die Projekte in Eclipse importieren. M2E arbeitet ganz anders und verwendet stattdessen die POM -Dateien, wenn Sie Projekte als Maven -Plugins importieren. Wahrscheinlich möchten Sie das CheckStyle -Plugin konfigurieren, und hoffentlich würde Eclipse die Einstellungen aufnehmen. Gleiches gilt für Findbugs und andere Maven -Plugins.

Ich bevorzuge jedoch die Verwendung von MVN Eclipse: Eclipse und habe die oben genannten Arbeiten nicht wie erwartet überprüft. M2E ist für mich einfach zu viel Zeitverschwendung und scheint häufig die falschen Dinge zu tun. Ich hasse es besonders, wie es die Gewohnheit hat, im Grunde genommen alles nach der Befehlszeileninteraktion mit Maven wieder aufzubauen. Aber viele Leute scheinen M2E zu mögen.

Man muss den Anschluss "Checkstyle M2E" installieren

Anwendet Konfigurationsformular das Maven-Checkstyle-Plugin auf das Eclipse Checkstyle Plugin

Unter Fenster Einstellungen maven Discover Open -Katalog

Und natürlich muss man den POM ändern, damit das Plugin des Check -Style -Plugins anstelle des Eclipse -Plugins konfiguriert ist.

Leider funktioniert es für mich nicht! (Ich werde die Antwort nicht löschen, weil sie für jemand anderen funktioniert.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top