Как исправить ошибку стиля проверки maven
В настоящее время я просто попытался загрузить и построить, чтобы сделать исходный код Netty. Но когда я попытался запустить команду mvn eclipse:eclipse
в исходной папке. Я получил сообщение об ошибке
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.10:check (check-style) on project netty-common: Failed during checkstyle execu
tion: There are 304 checkstyle errors. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.10:check (check-style) on proj
ect netty-common: Failed during checkstyle execution
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:352)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:197)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed during checkstyle execution
at org.apache.maven.plugin.checkstyle.CheckstyleViolationCheckMojo.execute(CheckstyleViolationCheckMojo.java:374)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 24 more
Caused by: org.apache.maven.plugin.checkstyle.CheckstyleExecutorException: There are 304 checkstyle errors.
at org.apache.maven.plugin.checkstyle.DefaultCheckstyleExecutor.executeCheckstyle(DefaultCheckstyleExecutor.java:218)
at org.apache.maven.plugin.checkstyle.CheckstyleViolationCheckMojo.execute(CheckstyleViolationCheckMojo.java:365)
Это ошибка плагина checkstyle при проверке кода netty-common
проекта.
Я не знаком с этим плагином. Я хочу знать, могу ли я просто игнорировать его, удалив конфигурацию из pom.xml(в). как показано ниже.
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>check-style</id>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
<configuration>
<consoleOutput>true</consoleOutput>
<logViolationsToConsole>true</logViolationsToConsole>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
<configLocation>io/netty/checkstyle.xml</configLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>netty-build</artifactId>
<version>21</version>
</dependency>
</dependencies>
</plugin>
Любая идея? Спасибо.
Ответы
Ответ 1
CheckStyle - это модуль maven, который проверяет стиль кода на такие вещи, как вкладки, а не пробелы. Netty использует это для предотвращения ошибок форматирования.
Если вы планируете вносить вклад в Netty, вы НЕ должны удалять плагин, поскольку это, вероятно, означает, что ваш патч никогда не будет применяться.
Если вы просто используете для игры, вы можете удалить этот плагин, так как его единственная цель - проверить установку и не изменять вещи из установки.
Если вы решите сохранить его, вы должны посмотреть в журнале вывода, чтобы узнать, какие ошибки обнаружены, быстро исправить ошибки, см. этот ответ на Мэтью Фарвелл.
- Щелкните правой кнопкой мыши на java файле в обозревателе пакетов или что-то еще, и выберите "Применить исправления стиля".
- Нажмите на ошибку в представлении проблем и выберите "Быстрое исправление". Это исправляет проблему.
Ответ 2
Пропустить выполнение стиля проверки с помощью
-Dcheckstyle.skip
Пример
mvn [YOUR_COMMAND] -Dcheckstyle.skip
Ответ 3
В то время как я не знаком с Netty и плагином maven eclipse, я столкнулся с проблемой с плагином maven-checkstyle, создавая pwm.
Это была ошибка:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (validate) on project pwm: Failed during checkstyle configuration ....
Мое решение (которое также решает многие связанные с maven ошибки btw):
Удалите папку maven .m2
, а затем снова создайте проект.
В linux-системах папка .m2 обычно находится в вашей домашней папке /home/<username>/.m2
Ответ 4
Если вы только что клонировали репозиторий и сбой сборки, я считаю, что вы используете Windows, и у вас есть проблемы с конфигурацией Git. Установите параметр "core.autocrlf" в "true", повторите клонирование репозитория и повторите попытку.
git config --global core.autocrlf true
Ответ 5
В моем случае я просто попытался выполнить ту же цель, но с опцией -X (включение уровня отладки) и обнаружил, на что жалуется плагин стиля проверки класса. Исправил стиль и снова запустил maven → Построить успех.
Ответ 6
Лучший подход к решению этой проблемы - запустить установку mvn с опцией -X, которая предоставит вам подробную информацию о проблемах стиля в классе. Вы можете исправить класс соответственно.