У меня есть большой проект модуля JEE Maven Multi, а также общий набор правил и запретов для Checkstyle с помощью модуля инструментов сборки. Из-за тестирования этого же модуля очень сложно опубликовать стабильную версию этих средств сборки.Checkstyle - результат не детерминированной проверки
Каждый раз, когда я запускаю фазу Maven, я получаю другой результат выполнения.
Это Checkstyle конфигурации в родительском pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<configuration>
<skip>${skipQATests}</skip>
<configLocation>qa/checkstyle_rules.xml</configLocation>
<propertiesLocation>${checkstyleDir}/checkstyle.properties</propertiesLocation>
<suppressionsLocation>qa/suppressions.xml</suppressionsLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
<linkXRef>false</linkXRef>
</configuration>
<executions>
<execution>
<id>checkstyle-compile</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Я пытаюсь найти шаблон в расстрелах, проект тщетны в одной конкретной проверки, и я не могу найти «ошибка» ,
- Я выполняю компиляцию фазы maven (mvn clean compile), и она терпит неудачу при данной проверке.
- Я выполняю фазу фаз maven (mvn clean package), и он тоже не работает.
- исполняю снова компилировать фазу (МВН чистой компиляции), и это не обязательно (все SUCCESS)
- я исполняю снова упаковать и он не
- Он не терпит неудачу в течение нескольких прогонов, а затем он снова не удастся при некотором разном исполнении
Я знаю, что такое поведение сложно отследить без всякой информации о проекте. Но есть ли какая-то процедура, журнал, инструмент, который даст больше информации об отладке этой проблемы, чтобы я мог определить, является ли это ошибкой или какой-то неправильной конфигурацией?
Спасибо заранее!
UPDATE:
Я только выполнил ту же команду МВН дважды на вспомогательном модуле я тестирование Checkstyle (тест, вызвавший нарушение правил) - mvn checkstyle:check -X
Результат отличался от каждого другие, основные отличия заключаются в том, что ПРАВИЛЬНОЕ ИСПОЛНЕНИЕ (тот, который не выполняет сборку, не находит файлы с первой попытки) и НЕПРАВИЛЬНОЕ ИСПОЛНЕНИЕ (тот, который заканчивается в SUCCESS, находит файлы конфигурации с первой попытки)
EXEC_1: ...
[DEBUG] The resource 'qa/suppressions.xml' was not found with resourceLoader org.codehaus.plexus.resource.loader.FileResourceLoader.
[DEBUG] The resource 'qa/suppressions.xml' was found as jar:file:/C:/Users/usuario/.m2/repository/com/company/tools/build-tools/0.0.2-SNAPSHOT/build-tools-0.0.2-SNAPSHOT.jar!/qa/suppressions.xml.
[DEBUG] Adding the outputDirectory file:/C:/LAB/PRJ/prj-ejbws/target/classes/ to the Checkstyle class path
[DEBUG] The resource 'qa/checkstyle_N4_JEE.xml' was not found with resourceLoader org.codehaus.plexus.resource.loader.FileResourceLoader.
[DEBUG] The resource 'qa/checkstyle_N4_JEE.xml' was found as jar:file:/C:/Users/usuario/.m2/repository/com/company/tools/build-tools/0.0.2-SNAPSHOT/build-tools-0.0.2-SNAPSHOT.jar!/qa/checkstyle_JEE.xml.
[DEBUG] The resource 'ubic.properties' was found as C:\LAB\PRJ\ubic.properties.
[INFO] Starting audit...
[INFO] --------------------------------------------
[INFO] BUILD FAILURE
[INFO] --------------------------------------------
[INFO] Total time: 1.542s
[INFO] Finished at: Thu Feb 20 16:35:22 CET 2014
[INFO] Final Memory: 8M/20M
[INFO] --------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.11:check (default-cli) on project GestionDelContacto-opsa-ejbws: Failed during checkstyle execution: There are 2 checkstyle errors.
EXEC_2: ...
[DEBUG] The resource 'qa/suppressions.xml' was found as jar:file:/C:/Users/usuario/.m2/repository/com/company/tools/build-tools/0.0.2-SNAPSHOT/build-tools-0.0.2-SNAPSHOT.jar!/qa/suppressions.xml.
[DEBUG] Adding the outputDirectory file:/C:/LAB/PRJ/prj-ejbws/target/classes/ to the Checkstyle class path
[DEBUG] The resource 'qa/checkstyle_N4_JEE.xml' was found as jar:file:/C:/Users/usuario/.m2/repository/com/company/tools/build-tools/0.0.2-SNAPSHOT/build-tools-0.0.2-SNAPSHOT.jar!/qa/checkstyle_JEE.xml.
[DEBUG] The resource 'ubic.properties' was not found with resourceLoader org.codehaus.plexus.resource.loader.ThreadContextClasspathResourceLoader.
[DEBUG] The resource 'ubic.properties' was not found with resourceLoader org.codehaus.plexus.resource.loader.JarResourceLoader.
[DEBUG] The resource 'ubic.properties' was found as C:\LAB\PRJ\ubic.properties.
[INFO] Starting audit...
[INFO] --------------------------------------------
[INFO] BUILD SUCCESS
[INFO] --------------------------------------------
[INFO] Total time: 1.570s
[INFO] Finished at: Thu Feb 20 16:37:05 CET 2014
[INFO] Final Memory: 8M/20M
[INFO] ---------------------------------------------
любой ключ?
Что означает отказ? Вы получили сообщение об ошибке? Вы пытались запустить maven с параметрами -X -e, чтобы получить более подробный вывод? – shylynx
Когда я говорю об ошибке, я имею в виду: Checkstyle обнаруживает нарушение правила и разбивает сборку. Я изучаю эту проблему через все утро и нашел следующее: - загрузчик ресурсов Plexus - это тот, который на некоторых mvn-исполнениях не загружает файл свойств для checkstyle, используя propertiesLocation tag в конфигурации плагина, поэтому при запуске checkstyle не имеет свойств, загруженных, чтобы сделать свойствоExpansion на моем нелегальном контроле. – xOUe
Вы пробовали фиксированные значения для пути местоположения вместо переменных в POM? Вы также должны проверить, правильно ли установлены переменные в проекте. Особенно многомодульные проекты, как правило, сталкиваются с проблемами, если переменные наследуются между подпроектами. – shylynx