我正在开发一个Maven父项目(不是聚合器!)项目,其中包含Maven插件和其他几乎我在每个项目中重复的内容以及我希望在项目中使用的
<parent>
<groupId>richtercloud</groupId>
<artifactId>maven-parent</artifactId>
<version>1</version>
<relativePath></relativePath>
</parent>
成语。 relativePath
是空的,因为解决方案应该通过Maven缓存进行,因为您可能知道您是否愿意回答这个问题。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>check_style</id>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
<configuration>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
</execution>
</executions>
<configuration>
<configLocation>check_style.xml</configLocation>
</configuration>
</plugin>
因此maven-checkstyle-plugin
用于上面包含parent
指令的所有项目。
事情是那个
plugin
部分放入父级reporting
(没有executions
,因为它无效),然后configuration
被忽略,因此正在使用的默认XML plugin
部分放入父POM中的build
,然后父项目不编译,因为它不搜索类路径中configLocation
中指定的文件( which it should afaik)因Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (check_style) on project maven-parent: Failed during checkstyle execution: Unable to find configuration file at location: check_style.xml: Could not find resource 'check_style.xml'. -> [Help 1]
而失败。预先src/main/resources
有助于编译父项,但会导致所有其他项目失败,因为它们将configLocation
解析为src/main/resources/src/main/resources/check_style.xml
这是正确的。一个错误? Maven inherit parent module resources没有回答这个问题,因为问题没有说明它如何引用parent
项目,即relativePath
项目。
我正在使用Maven 3.3.9。