如何修复maven检查样式错误

时间:2016-02-02 09:25:37

标签: java maven netty

目前我只是尝试下载和构建以使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)

验证代码netty-common项目时,checkstyle插件是错误的。

我不熟悉这个插件。我想知道我是否可以通过从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>

有什么想法吗?感谢。

10 个答案:

答案 0 :(得分:26)

使用

跳过检查样式执行
-Dcheckstyle.skip

实施例

mvn [YOUR_COMMAND] -Dcheckstyle.skip

答案 1 :(得分:6)

CheckStyle是maven的一个模块,用于检查代码的样式,例如制表符而不是空格。 Netty正在使用它来防止基本的格式错误。

如果您打算向Netty捐款,则不应删除该插件,因为这可能意味着您的补丁永远不会应用。

如果您只是玩游戏,可以自由删除该插件,因为它的唯一目的是验证安装,而不是从安装中更改内容。

如果您选择保留它,则应查看输出日志以查看检测到的错误,快速修复错误,请thisMatthew Farwell回答。

  
      
  1. 右键单击Package Explorer中的java文件或其他任何内容,然后选择“应用Checkstyle更正&#39;。
  2.   
  3. 点击问题视图中的错误,然后选择&#39;快速修复&#39;。这可以解决问题。
  4.   

答案 2 :(得分:4)

虽然我既不熟悉Netty也不熟悉maven eclipse插件,但在构建pwm项目时,我确实遇到了maven-checkstyle-plugin的问题。

这是错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (validate) on project pwm: Failed during checkstyle configuration ....

我的解决方案(这也解决了很多与maven相关的错误):

删除maven的.m2文件夹,然后重新构建项目。 在linux系统上,.m2文件夹通常位于您的主文件夹/home/<username>/.m2

答案 3 :(得分:2)

如果您刚刚克隆了存储库并且构建失败,我相信您使用的是Windows,并且您的Git配置存在问题。请将'core.autocrlf'选项设置为'true',重新克隆存储库,然后重试。

git config --global core.autocrlf true

答案 4 :(得分:1)

我遇到了同样的问题,并在pom文件中添加了以下内容,从而禁用了pom的checkstyle,

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
                <execution>
                    <id>checkstyle-validation</id>
                    <phase>none</phase>
                </execution>
            </executions>
        </plugin>

答案 5 :(得分:0)

在我的情况下,我只是尝试执行相同的目标,但是使用-X选项(启用调试级别),并且发现了抱怨的类检查样式插件。更正了样式并再次运行maven->构建成功。

答案 6 :(得分:0)

通过运行带有-X选项的mvn install来解决此问题的最佳方法,它将为您提供有关类中样式问题的详细信息。您可以相应地修复该类。

答案 7 :(得分:0)

我通过删除pom.xml中的检查样式配置并重建Maven解决了此问题。当我稍后重新插入并构建时,它可以正常工作。

答案 8 :(得分:0)

在Linux操作系统上,我使用 dos2unix 解决了。

cd presto;
find . -type f -exec dos2unix {} \;

答案 9 :(得分:0)

只需执行“mvn spotless:apply”,对我有用