[英]checkstyle-maven-plugin 3.0.0 deprecated parameter sourceDirectory
I am facing sourceDirectory
parameter deprecated error while trying to add checkstyle to my project. 尝试将checkstyle添加到我的项目时,我
sourceDirectory
参数弃用的错误。
Error: 错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:checkstyle (default-cli) on project my-app: An error has occurred in Checkstyle report generation.: You are using 'sourceDirectory' which has been removed from the maven-checkstyle-plugin. Please use 'sourceDirectories' and refer to the >>Major Version Upgrade to version 3.0.0<< on the plugin site. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:checkstyle (default-cli) on project my-app: An error has occurred in Checkstyle report generation.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
I am having a spring-boot maven project where checkstyle is not configured currently. 我有一个spring-boot maven项目,其中当前未配置checkstyle。 But when I checked the effective pom for the same, I am able to see the following config for checkstyle.
但是当我检查相同的有效pom时,我可以看到以下用于checkstyle的配置。
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.14</version>
<configuration>
<outputFileFormat>xml</outputFileFormat>
<consoleOutput>false</consoleOutput>
<enableRSS>false</enableRSS>
<linkXRef>false</linkXRef>
<configLocation>http://ldisonarci.wdf.sap.corp:8080/sonar/profiles/export?format=checkstyle&language=java</configLocation>
<sourceDirectory>/All-Data/proj/test_proj/src</sourceDirectory>
<encoding>UTF-8</encoding>
<failOnViolation>true</failOnViolation>
<violationSeverity>error</violationSeverity>
</configuration>
</plugin>
Now I want to add Checkstyle maven plugin 3.0.0 to the project. 现在,我想将Checkstyle maven插件3.0.0添加到项目中。 So I added checkstyle version 3.0.0 to plugin management in the pom.xml like below.
因此,我在pom.xml中的插件管理中添加了checkstyle 3.0.0版,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<configLocation>google_checks.xml</configLocation>
<sourceDirectories>
<sourceDirectory>${project.basedir}/src/</sourceDirectory>
</sourceDirectories>
</configuration>
</plugin>
</plugins>
Now the new effective pom contains the following 现在,新的有效pom包含以下内容
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<configLocation>google_checks.xml</configLocation>
<sourceDirectories>
<sourceDirectory>/All-Data/proj/test_proj/src/</sourceDirectory>
</sourceDirectories>
<outputFileFormat>xml</outputFileFormat>
<consoleOutput>false</consoleOutput>
<enableRSS>false</enableRSS>
<linkXRef>false</linkXRef>
<sourceDirectory>/All-Data/proj/test_proj/src</sourceDirectory>
<encoding>UTF-8</encoding>
<failOnViolation>true</failOnViolation>
<violationSeverity>error</violationSeverity>
</configuration>
</plugin>
If you look at the newly generated effective pom.xml, it has sourceDirectory
which I didn't configure. 如果您查看新生成的有效pom.xml,它具有我未配置的
sourceDirectory
。 Hence when I run mvn checkstyle:checkstyle
it fails with above error mentioned above. 因此,当我运行
mvn checkstyle:checkstyle
它将失败,并出现上述错误。
How do I get rid of the sourceDirectory
which appears in effective pom.xml. 如何摆脱出现在有效pom.xml中的
sourceDirectory
。
I tried to create a new dummy project with checkstyle but it doesn't have this problem. 我试图用checkstyle创建一个新的虚拟项目,但是没有这个问题。 Please help.
请帮忙。
Using combine.self="override"
in configuration
section helped me solve the issue. 在
configuration
部分中使用combine.self="override"
帮助我解决了问题。
Here is the solution. 这是解决方案。
<?xml version="1.0" encoding="UTF-8"?>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.18</version>
</dependency>
</dependencies>
<configuration combine.self="override">
<configLocation>config/checkstyle_google.xml</configLocation>
<sourceDirectories>
<sourceDirectory>${project.basedir}/src/</sourceDirectory>
</sourceDirectories>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
https://stackoverflow.com/a/8119747/4286434 This answer helped me to find the solution. https://stackoverflow.com/a/8119747/4286434这个答案帮助我找到了解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.