Maven 2 Проверка конфигурации стиля
-
20-08-2019 - |
Вопрос
у меня есть проект, который имеет в качестве зависимости от maven файл jar, который включает xml-файл, в котором я сохранил свои правила для checkstyle.Я подумал, что было бы нормально просто использовать эту конфигурацию:<configLocation>mycheckstyle.xml</configLocation>.Я понимаю, что файл следует искать по пути к классу, а мой файл jar является зависимостью Maven, поэтому он должен быть найден, однако я получаю исключение resource not found .Есть какие-нибудь предложения?Заранее благодарю..
куку
Решение
Попробуйте добавить раздел зависимостей в конфигурацию вашего плагина.
Например.,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.example.whizbang</groupId>
<artifactId>build-tools</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>
Видишь Плагин Maven Checkstyle - Многомодульная конфигурация для получения дополнительной информации.
Другие советы
Как объяснено в Страница плагина Checkstyle,
Расположение конфигурации :
Указывает расположение используемой конфигурации XML.
Потенциальные значения - это путь к файловой системе, URL-адрес, или ресурс classpath.
Я никогда не делал этого в своем проекте...
Вы уверены, что JAR, содержащий XML-файл, находится в classpath при запуске плагина checkstyle?
У меня есть родительский элемент, который указывает плагин checkstyle и имеет в своей папке ресурсов соответствующий mycheckstyle.xml.Я использую плагин maven assembly, чтобы создать jar из папки ресурсов моих родителей и определить этот jar как зависимость в моем дочернем элементе.Таким образом, когда дочерний элемент наследует плагин checkstyle + его конфигурацию от родительского элемента, он должен быть в состоянии найти mycheckstyle.xml.Я следовал инструкциям на странице плагина checkstyle, но это не сработало.
Если у вас есть локальный репозиторий maven для ваших самостоятельно созданных и скомпилированных проверок, пожалуйста, помните, чтобы не забыть определить
<repositories>
<repository>
<id>my local repository</id>
<url>file:${basedir}/.m2artifacts</url>
</repository>
<!-- ... -->
</repositories>
но также
<pluginRepositories>
<pluginRepository>
<id>my local repository</id>
<url>file:${basedir}/.m2artifacts</url>
</pluginRepository>
<!-- ... -->
</pluginRepositories>
в противном случае зависимость плагина будет просто просматриваться в центральном репозитории maven, но не найдет ваш локальный файл JAR с вашими контрольными классами