Как настроить Checkstyle в Eclipse для автоматического проекта Maven

StackOverflow https://stackoverflow.com/questions/8360131

Вопрос

У меня есть проект Maven-Multi, когда я создаю новый проект Eclipse из него (от M2E 1.0 "Проект Maven из SCM), я хочу, чтобы плагин Eclipse Checkstyle настроен для автоматического проекта.

Итак, я добавил maven-eclipse-plugin в родительском помпе <pluginManagement> раздел и настроил его на создание .checkstyle Файл, а также дополнительный проект природы CheckstyleNature. Анкет В модуль maven-eclipse-plugin В разделе сборки. Но когда я проверяю проект, ничего не случилось, файл не генерируется, а природа не добавляется.

Так что я думаю, что делаю что -то совершенно не так, но как это сделано правильно?


Родительский POM - раздел управления плагинами:

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

Модуль POM - Плагины Раздел:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-eclipse-plugin</artifactId>
</plugin>
Это было полезно?

Решение

Есть подробные ответы на эту тему в Могу ли я настроить m2eclipse через pom.xml?:

Полностью автоматическая конфигурация плагина Eclipse Checkstyle может быть достигнута только с помощью ProjectConfigurator, например, M2E-Code-качество или же M2E-Extensions.

Для M2E на версии 1.0 вы можете установить их через рынок M2E в соответствии с предпочтениями-> Maven-> Discovery-> «Открытый каталог». Подробности см. В Отслеживание ошибок для интеграции качества M2E-кода на рынок M2E.

Существует также решение, основанное на Антруне и XMLTASK даже для Findbugs и Sonar. Он нуждается в ручном запуска только один раз после оформления заказа.

Другие советы

Плагин Maven Eclipse - это не то же самое, что и плагин M2E для Eclipse, который, как я предполагаю, вы пытаетесь использовать. В основном вы не должны использовать оба одновременно.

Вы можете использовать MVN Eclipse: Eclipse из командной строки для генерации файлов проекта, а затем вы можете импортировать проекты в Eclipse. M2E работает по -разному и вместо этого использует файлы POM, когда вы импортируете проекты в качестве плагинов Maven. Вероятно, вы хотите настроить плагин CheckStyle, и, надеюсь, Eclipse заберут настройки. То же самое для Findbugs и других плагинов Maven.

Тем не менее, я на самом деле предпочитаю использовать MVN Eclipse: Eclipse и фактически не проверял вышеупомянутые работы, как и ожидалось. M2E - это слишком много времени для меня и, кажется, уходит и часто делает неправильные вещи. Я особенно ненавижу, как у него есть привычка восстанавливать все после взаимодействия командной строки с Maven. Но многим людям нравится M2E.

Нужно установить разъем "Checkstyle M2E"

Применить конфигурацию формирования Maven-checkstyle-Plugin к плагину Eclipse Checkstyle

Под окном предпочтения maven discover open catalog

И, конечно, нужно изменить POM, чтобы настроен плагин Check Style, а не плагин Eclipse.

К сожалению, это не работает для меня! (Я не буду удалять ответ, потому что он может работать для кого -то другого.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top