Я пытаюсь использовать плагин maven-checkstyle для многомодульного проекта. Вот моя структура проекта
|pom-root
| -- my-checkstyles
| |-- pom.xml
| |-- checkstyles
| |-- checkstyles.xml
| -- my-war
| |-- pom.xml
| -- my-ejb
| |-- pom.xml
| -- my-ear
| |-- pom.xml
| -- pom.xml
, а вот pom.xml для моего проекта pom-root:
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>pom-root</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>my-checkstyles</module>
<module>my-ear</module>
<module>my-ejb</module>
<module>my-war</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins </groupId>
<artifactId> maven-site-plugin </artifactId>
<version>3.0-beta-3</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>5.4</version>
</dependency>
<dependency>
<groupId>fr.info.saone</groupId>
<artifactId>info-saone-checkstyle</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<configuration>
<outputEncoding>UTF-8</outputEncoding>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.7</version>
<configuration>
<cacheFile>target/cachefile</cacheFile>
<configLocation>checkstyles/checkstyle_vnf.xml</configLocation>
<linkXRef>true</linkXRef>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</build>
</project>
Когда я выполняю mvn site
, он завершается неудачно, если у меня не установлен проект checkstyle в хранилище, что довольно раздражает, потому что, если сделать небольшое изменение в файле, мне нужно установить его снова в хранилище.
Я знаю, что Maven должен работать таким образом, но есть ли способ настроить корневую помпу для разрешения зависимости от проекта checkstyle во время компиляции и не получать ее из репозитория?
Я пытался использовать параметры maven "--also-make" и "-pl", но не смог заставить его работать.
Также я знаю, что могу указать checkfile искать файл checkstyle, используя file:///
протокол (вот как я это делаю сейчас), но я предпочел бы найти альтернативный способ.
Заранее спасибо