Как настроить Checkstyle в Eclipse для автоматического проекта Maven
-
27-10-2019 - |
Вопрос
У меня есть проект 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.
К сожалению, это не работает для меня! (Я не буду удалять ответ, потому что он может работать для кого -то другого.)