[ 
https://issues.apache.org/jira/browse/AVRO-3273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17464681#comment-17464681
 ] 

Ryan Skraba commented on AVRO-3273:
-----------------------------------

There's a workaround for this, if you modify the avro-maven-plugin in the 
pom.xml:

{{    <plugins>
      <plugin>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-maven-plugin</artifactId>
        <version>${avro.version}</version>
        <executions>
          <execution>
            <goals>
              <!-- By default generates classes from all Protocol (.avpr) files 
found in 'src/main/avro' -->
              <goal>protocol</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-ipc</artifactId>
            <version>${avro.version}</version>
          </dependency>
          *<dependency>*
            *<groupId>org.apache.maven</groupId>*
            *<artifactId>maven-core</artifactId>*
            *<version>3.3.9</version>*
          *</dependency>*
        </dependencies>
      </plugin>
}}

I've verified that the value of 3.3.9 works for maven 3.8.4, 3.6.3, 3.5.4, 
3.3.9, and 3.2.5.

> [Java] avro-maven-plugin breaks on old versions of Maven
> --------------------------------------------------------
>
>                 Key: AVRO-3273
>                 URL: https://issues.apache.org/jira/browse/AVRO-3273
>             Project: Apache Avro
>          Issue Type: Bug
>    Affects Versions: 1.11.0
>            Reporter: Ryan Skraba
>            Priority: Major
>             Fix For: 1.11.1
>
>
> If you generate an example project:
> {code}
> mvn archetype:generate -B -DarchetypeGroupId=org.apache.avro 
> -DarchetypeArtifactId=avro-service-archetype -DarchetypeVersion=1.11.0 
> -DgroupId=com.example -DartifactId=avro-simple -Dversion=1.0.0-SNAPSHOT 
> -Dpackage=com.example
> {code}
> It compiles correctly with recent versions of maven, but fails for maven 
> 3.2.5 and 3.3.9.  (Notably, Flink uses maven 3.2.5).
> {code}
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 6.864 s
> [INFO] Finished at: 2021-12-23T16:07:10+00:00
> [INFO] Final Memory: 36M/545M
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-install-plugin:2.5.2:install (default-install) 
> on project avro-simple: Execution default-install of goal 
> org.apache.maven.plugins:maven-install-plugin:2.5.2:install failed: Unable to 
> load the mojo 'install' (or one of its required components) from the plugin 
> 'org.apache.maven.plugins:maven-install-plugin:2.5.2': 
> com.google.inject.ProvisionException: Unable to provision, see the following 
> errors:
> [ERROR] 
> [ERROR] 1) Error injecting: private org.eclipse.aether.spi.log.Logger 
> org.apache.maven.repository.internal.DefaultVersionRangeResolver.logger
> [ERROR] while locating 
> org.apache.maven.repository.internal.DefaultVersionRangeResolver
> [ERROR] while locating java.lang.Object annotated with *
> [ERROR] at org.eclipse.sisu.wire.LocatorWiring
> [ERROR] while locating org.eclipse.aether.impl.VersionRangeResolver
> [ERROR] for parameter 2 at 
> org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.<init>(Unknown
>  Source)
> [ERROR] while locating 
> org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector
> [ERROR] while locating java.lang.Object annotated with *
> [ERROR] at org.eclipse.sisu.wire.LocatorWiring
> [ERROR] while locating org.eclipse.aether.impl.DependencyCollector
> [ERROR] for parameter 5 at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown 
> Source)
> [ERROR] while locating 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem
> [ERROR] while locating java.lang.Object annotated with *
> [ERROR] while locating 
> org.apache.maven.artifact.installer.DefaultArtifactInstaller
> [ERROR] at ClassRealm[plexus.core, parent: null] (via modules: 
> org.eclipse.sisu.wire.WireModule -> 
> org.eclipse.sisu.plexus.PlexusBindingModule)
> [ERROR] at ClassRealm[plexus.core, parent: null] (via modules: 
> org.eclipse.sisu.wire.WireModule -> 
> org.eclipse.sisu.plexus.PlexusBindingModule)
> [ERROR] while locating org.apache.maven.artifact.installer.ArtifactInstaller
> [ERROR] while locating org.apache.maven.plugin.install.InstallMojo
> [ERROR] at 
> ClassRealm[plugin>org.apache.maven.plugins:maven-install-plugin:2.5.2, 
> parent: sun.misc.Launcher$AppClassLoader@7852e922] (via modules: 
> org.eclipse.sisu.wire.WireModule -> 
> org.eclipse.sisu.plexus.PlexusBindingModule)
> [ERROR] while locating org.apache.maven.plugin.Mojo annotated with 
> @com.google.inject.name.Named(value=org.apache.maven.plugins:maven-install-plugin:2.5.2:install)
> [ERROR] Caused by: java.lang.IllegalArgumentException: Can not set 
> org.eclipse.aether.spi.log.Logger field 
> org.apache.maven.repository.internal.DefaultVersionRangeResolver.logger to 
> org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory
> [ERROR] at 
> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
> [ERROR] at 
> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to