2011-12-02 8 views
7

Tengo un proyecto de maven-multi, cuando creo un nuevo proyecto de eclipse (por M2E 1.0 "Checkout Maven Project de SCM) quiero que el plugin eclipse checkstyle sea configurado para ese proyecto automáticamente.Cómo configurar el estilo de marca en Eclipse para un proyecto de maven automáticamente

por lo que añade el maven-eclipse-plugin en la sección de pom padres <pluginManagement> y configurado para generar .checkstyle archivo, así como la naturaleza adicional del proyecto CheckstyleNature. en los poms del modulo I añade el nombre de la maven-eclipse-plugin en la construcción sección. Pero cuando pago el proyecto no pasó nada, el archivo no se genera y la naturaleza no se agrega.

Entonces, creo que estoy haciendo algo completamente incorrecto, pero ¿cómo se hace correctamente?


Padres pom - sección de gestión de 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> 

Módulo pom - plugins sección:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
</plugin> 

Respuesta

5

Hay respuestas detalladas a este tema en Can I Configure m2eclipse through pom.xml?:

configuración completamente automática del Eclipse Checkstyle Plugin sólo puede lograrse con un ProjectConfigurator, p.ej m2e-code-quality o m2e-extensions.

Para m2e a partir de la versión 1.0, puede instalarlos a través del mercado m2e en Preferencias-> Maven-> Descubrimiento -> "Abrir catálogo". Para más detalles, vea el bug tracking for integration of m2e-code-quality into the m2e marketplace.

También hay una solución basada en AntRun y ​​XMLTask incluso para FindBugs y Sonar. Solo necesita activación manual una vez después de finalizar la compra.

+0

suena muy bien, aún no lo he probado, pero de la descripción del proyecto es lo que necesitaba – Ralph

+0

Desafortunadamente, el conector [m2e-code-quality no está en el catálogo de m2e 1.4 (Kepler)] (https: // github.com/m2e-code-quality/m2e-code-quality/issues/25). – oberlies

+0

la página de inicio de calidad de código m2e (http://m2e-code-quality.github.io/m2e-code-quality/) parece ser bastante antigua, pero su página de mercado https: //marketplace.eclipse. org/content/m2e-code-quality muestra que el proyecto sigue vivo – Ralph

4

El experto Eclipse plugin no es lo mismo que el plugin M2e para Eclipse, que asumo que estás tratando de usar. Básicamente no deberías usar ambos al mismo tiempo.

Puede usar mvn eclipse: eclipse desde la línea de comando para generar archivos de proyecto y luego puede importar los proyectos en eclipse. M2e funciona de manera muy diferente y en su lugar utiliza los archivos pom cuando se importan proyectos como complementos maven. Probablemente lo que quiere es configurar el complemento checkstyle y, con suerte, eclipse recuperaría la configuración. Lo mismo para findbugs y otros plugins maven.

Sin embargo, en realidad prefiero usar mvn eclipse: eclipse y no he verificado los trabajos anteriores como se esperaba. M2e es demasiado desperdiciador de tiempo para mí y parece irse y hacer las cosas mal con frecuencia. Particularmente odio cómo tiene la costumbre de reconstruir todo básicamente después de la interacción de línea de comandos con maven. Pero a mucha gente parece gustarle m2e.

+1

Tienes razón, los complementos son diferentes. Pero usaré M2e en lugar del eclipse-plugin. – Ralph

+0

A menos que esta respuesta sea relevante explicando la diferencia entre el plugin de Eclipse (m2e) y el plugin de Maven (maven-eclipse-plugin), parece que la integración entre el sistema de compilación y el IDE realmente mejoró a partir de la última versión (especialmente de 2013 a 2015) De hecho, recomendaría M2E. –

+2

Fue relevante porque la pregunta original es acerca de m2e, pero la muestra xml configura el complemento maven eclipse, que claramente no funcionará; como lo señalé Mi último párrafo fue relevante cuando proporcioné esta respuesta ya que m2e era bastante inestable y difícil de manejar en ese momento. Desde entonces las cosas han mejorado sustancialmente y ahora uso m2e también. –

1

Uno debe instalar el conector "M2e Checkstyle"

aplica formulario de configuración del experto-Checkstyle-plugin para el plugin de Eclipse Checkstyle

Bajo la ventana \ preferencias \ Maven \ Descubrir \ Abrir catálogo

Y, por supuesto, hay que cambiar el pom para que se configure el complemento de estilo de comprobación, en lugar del plugin de eclipse.

¡Desafortunadamente no funciona para mí! (No voy a borrar la respuesta, ya que puede trabajar para alguien más.)

+0

¿Hay alguna forma de que este descubrimiento se active automáticamente? –

+0

@ Thorbjørn Ravn Andersen: No lo sé. Pero parece una buena pregunta. – Ralph

Cuestiones relacionadas