I'm not sure where to vote or report this, but I upgraded locally from
1.5.1 to 1.5.2 and I'm seeing an error when using the
avro-maven-plugin protocol goal to compile classes from an avpr:
########################################
Caused by: org.apache.maven.plugin.PluginContainerException: A
required class was missing while executing
org.apache.avro:avro-maven-plugin:1.5.2:protocol:
org/apache/maven/shared/model/fileset/util/FileSetManager
-----------------------------------------------------
realm = plugin>org.apache.avro:avro-maven-plugin:1.5.2
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] =
file:/Users/alex/.m2/repository/org/apache/avro/avro-maven-plugin/1.5.2/avro-maven-plugin-1.5.2.jar
urls[1] =
file:/Users/alex/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:125)
... 20 more
Caused by: java.lang.NoClassDefFoundError:
org/apache/maven/shared/model/fileset/util/FileSetManager
at
org.apache.avro.mojo.AbstractAvroMojo.getIncludedFiles(AbstractAvroMojo.java:113)
at
org.apache.avro.mojo.AbstractAvroMojo.execute(AbstractAvroMojo.java:97)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
... 20 more
Caused by: java.lang.ClassNotFoundException:
org.apache.maven.shared.model.fileset.util.FileSetManager
at
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
... 23 more
########################################
It appears to me that there is a missing dependency on the
FileSetManager class (which is in the
org.apache.maven.shared:file-management artifact).
My plugin execution is pretty straightforward, just generating sources
from the avpr:
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>${avro-version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>protocol</goal>
</goals>
</execution>
</executions>
</plugin>
If there's something else I can do to debug/report this, please let me know.
Alex Miller