Процесс выполнения цели org.bs c .maven: плагин maven-processor: 4.0-rc1: сбой процесса - PullRequest
1 голос
/ 27 апреля 2020

У меня есть проблема, которой я хочу поделиться и, возможно, найти вашу помощь.

Только сегодня я переустанавливал свою среду разработки и понял, что не могу собрать свой проект с помощью maven (версия 3.6.3, но я также пробовал и более старый). Трассировка стека проблем следующая:

Execution process of goal org.bsc.maven:maven-processor-plugin:4.0-rc1:process failed: 
Unable to load the mojo 'process' in the plugin 'org.bsc.maven:maven-processor-plugin:4.0-rc1' due to an API incompatibility: 
org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
org/bsc/maven/plugin/processor/MainAnnotationProcessorMojo has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Версия Java: Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre

Я потратил некоторое время, чтобы понять, что не так и почему на локальной машине это работает, но на новой машине DEV - нет. Я знаю, что проблема заключается в том, что зависимость maven plugin (maven-processor-plugin) создается более новой версией, чем я использую для проекта. Но ПОЧЕМУ Maven загружает эту версию-кандидата вместо стабильной версии 3.3.3?

Затем я удалил ~/.m2/repository/org/bsc/maven/maven-processor-plugin с моей локальной машины и ... да, я столкнулся с той же проблемой, что и на моей машине Dev. Моя локальная версия Maven - 3.6.1

Я предполагаю, что Maven начинает использовать последнюю версию этого плагина и движется вперед без обратной совместимости. Это звучит как последние Java 8 дней в экосистеме Maven, но я не буду в это верить.

Кстати: MAVEN PROCESSOR PLUGIN » 4.0-rc1 был выпущен (17 апреля 2020 г.), это объясняет, почему ранее У меня не было такой проблемы.

Если у кого-то есть подобная проблема или может объяснить, что происходит с Maven - я буду очень благодарен. Спасибо всем заранее, будьте в безопасности!

PS Как выглядит конфигурация плагина в pom. xml

<plugin>
  <groupId>org.bsc.maven</groupId>
  <artifactId>maven-processor-plugin</artifactId>
    <executions>
      <execution>
        <id>process</id>
        <goals>
          <goal>process</goal>
        </goals>
        <phase>generate-sources</phase>
        <configuration>
          <outputDirectory>src/generated</outputDirectory>
            <processors>
              <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
            </processors>
            <compilerArguments>-ApersistenceXml="src/main/resources/META-INF/persistence-data.xml"</compilerArguments>
        </configuration>
      </execution>
    </executions>
    <dependencies>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
  </dependencies>
</plugin>

PPS Я не заблокирован этим, потому что я только что использовал тег версии и установите последнюю стабильную версию плагина 3.3.3. Но мне все еще любопытно, почему происходит такой конфликт. И снова я буду очень рад любым идеям и комментариям.

...