Вопрос

у меня есть проект, который имеет в качестве зависимости от 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 с вашими контрольными классами

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top