gpt4 book ai didi

java - 如何在 Maven 中配置 Checkstyle?

转载 作者:搜寻专家 更新时间:2023-11-01 01:06:39 26 4
gpt4 key购买 nike

我正在使用 Maven。

我有一个父模块和一些其他模块。

它们看起来像这样:

PARENT
├── pom.xml
├── ModulA
| └── pom.xml
└── ModulB
├── pom.xml
└── folder
└── checkstyle.xml

我试图用我自己的规则替换规则。但它无视我的规则。我将插件添加到父 pom.xml

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<configLocation>
${basedir}/../ModulB/folder/checkstyle.xml
</configLocation>
</configuration>
</plugin>

问题出在哪里?

编辑:

mvn checkstyle:checkstyle -X 的结果:

...
<configuration>
<cacheFile default-value="${project.build.directory}/checkstyle-cachefile"/>
<configLocation default-value="config/sun_checks.xml">${checkstyle.config.location}</configLocation>
<consoleOutput default-value="false"/>
<enableFilesSummary default-value="true">${checkstyle.enable.files.summary}</enableFilesSummary>
<enableRSS default-value="true">${checkstyle.enable.rss}</enableRSS>
<enableRulesSummary default-value="true">${checkstyle.enable.rules.summary}</enableRulesSummary>
<enableSeveritySummary default-value="true">${checkstyle.enable.severity.summary}</enableSeveritySummary>
<encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
<excludes>${checkstyle.excludes}</excludes>
<failsOnError default-value="false"/>
<format default-value="sun"/>
<headerFile>${basedir}/LICENSE.txt</headerFile>
<headerLocation default-value="LICENSE.txt">${checkstyle.header.file}</headerLocation>
<includeTestSourceDirectory default-value="${false}"/>
<includes default-value="**/*.java">${checkstyle.includes}</includes>
<linkXRef default-value="true">${linkXRef}</linkXRef>
<outputDirectory default-value="${project.reporting.outputDirectory}"/>
<outputFile default-value="${project.build.directory}/checkstyle-result.xml">${checkstyle.output.file}</outputFile>
<outputFileFormat default-value="xml">${checkstyle.output.format}</outputFileFormat>
<project default-value="${project}"/>
<propertiesLocation>${checkstyle.properties.location}</propertiesLocation>
<skip default-value="false">${checkstyle.skip}</skip>
<sourceDirectory default-value="${project.build.sourceDirectory}"/>
<suppressionsFileExpression default-value="checkstyle.suppressions.file">${checkstyle.suppression.expression}</suppressionsFileExpression>
<suppressionsLocation>${checkstyle.suppressions.location}</suppressionsLocation>
<testSourceDirectory default-value="${project.build.testSourceDirectory}"/>
<xrefLocation default-value="${project.reporting.outputDirectory}/xref"/>
</configuration>
...

最佳答案

要让它获取您的自定义配置,您需要将您的文件声明为属性:

<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
...

<properties>
<checkstyle.config.location><!-- file location --></checkstyle.config.location>
</properties>

<build>
...

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
</plugin>
</plugins>
</build>

</project>

取 self 关于如何在此处创建自定义 CheckStyle 检查的教程:
http://blog.blundellapps.com/create-your-own-checkstyle-check/

源代码在这里:
https://github.com/blundell/CreateYourOwnCheckStyleCheck

关于java - 如何在 Maven 中配置 Checkstyle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12513277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com