Domanda

Ho un progetto Maven-multi, quando creo un nuovo progetto Eclipse da esso (tramite M2E 1.0 "Checkout Maven Project di SCM) desidero che il plug-in Eclipse Checkstyle sia configurato automaticamente per quel progetto.

Quindi ho aggiunto il maven-eclipse-plugin nei pom dei genitori <pluginManagement> sezione e configurata per generare .checkstyle file nonché la natura aggiuntiva del progetto CheckstyleNature.Nel modulo poms ho aggiunto il nome del maven-eclipse-plugin nella sezione di costruzione.Ma quando eseguo il check-out del progetto non è successo nulla, il file non viene generato e la natura non viene aggiunta.

Quindi penso di fare qualcosa di completamente sbagliato, ma come è fatto correttamente?


Parent pom - sezione gestione plugin:

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

Modulo pom - sezione plugin:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-eclipse-plugin</artifactId>
</plugin>
È stato utile?

Soluzione

Ci sono risposte dettagliate a questo argomento in Posso configurare m2eclipse tramite pom.xml?:

La configurazione completamente automatica del plugin Eclipse Checkstyle può essere ottenuta solo con un ProjectConfigurator, ad es. qualità-codice-m2e O estensioni-m2e.

Per m2e a partire dalla versione 1.0, puoi installarli tramite il marketplace m2e in Preferenze->Maven->Discovery->"Apri catalogo".Per i dettagli vedere il tracciamento dei bug per l'integrazione di m2e-code-quality nel mercato m2e.

Esiste anche una soluzione basata su AntRun e XMLTask anche per FindBugs e Sonar.È necessario l'attivazione manuale solo una volta dopo il checkout.

Altri suggerimenti

Il plug -in Maven Eclipse non è la stessa cosa del plug -in M2E per Eclipse, che suppongo che tu stia cercando di usare. Fondamentalmente non dovresti usare entrambi allo stesso tempo.

È possibile utilizzare MVN Eclipse: Eclipse dalla riga di comando per generare file di progetto e quindi è possibile importare i progetti in Eclipse. M2E funziona in modo molto diverso e utilizza invece i file POM quando si importano progetti come plugin Maven. Probabilmente quello che vuoi è configurare il plug -in CheckStyle e speriamo che Eclipse raccogliesse le impostazioni. Lo stesso vale per Findbugs e altri plugin Maven.

Tuttavia, preferisco effettivamente usare MVN Eclipse: Eclipse e non ho effettivamente verificato le opere sopra come previsto. M2E è troppo grande per me per me e sembra andare e fare frequentemente le cose sbagliate. Odio in particolare il modo in cui ha l'abitudine di ricostruire sostanzialmente tutto dopo l'interazione della linea di comando con Maven. Ma molte persone sembrano apprezzare M2E.

Bisogna installare il connettore "CheckStyle M2E"

Applica il modulo di configurazione il plugin-stystyle Maven al plug-in Eclipse checkstyle

Under Window Preferences Maven Discover Open Catalog

E, naturalmente, si deve cambiare il POM, in modo che il plug -in Stile di controllo sia configurato, anziché il plug -in Eclipse.

Purtroppo non funziona per me! (Non eliminerò la risposta perché potrebbe funzionare per qualcun altro.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top