[
https://issues.apache.org/jira/browse/AVRO-4076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oscar Westra van Holthe - Kind resolved AVRO-4076.
--------------------------------------------------
Resolution: Duplicate
Looks like a duplicate of AVRO-4071.
> Failed to generate Java classes from multiple .avsc files containing same
> record
> --------------------------------------------------------------------------------
>
> Key: AVRO-4076
> URL: https://issues.apache.org/jira/browse/AVRO-4076
> Project: Apache Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.12.0
> Reporter: Tim van Baarsen
> Priority: Major
> Labels: pull-request-available
> Attachments: Company.avsc, Employee.avsc
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> *Description*
> This issue looks like
> [AVRO-3940|https://issues.apache.org/jira/browse/AVRO-3940] (already
> resolved).
> After upgrading from version 1.11.4 to version 1.12.0 of the plugin, I ran
> into the same error: _Caused by: org.apache.avro.SchemaParseException: Can't
> redefine: com.example.avro.Address_ when generating Java classes from two
> .avsc files containing an identical record instead of an enum.
> Both Avro schemas define the Address record:
> * [^Company.avsc]
> * [^Employee.avsc]
>
> *Steps to reproduce*
> 1. Clone this repository:
> [https://github.com/j-tim/apache-avro-maven-plugin-generate-java-code-failure-bug]
> 2. Build the Maven project:
> {code:java}
> ./mvnw clean package -X {code}
> 3. Observe the org.apache.avro.SchemaParseException in the output
> *Expected*
> The code generator should accept the same record.
> *Result*
> {code:java}
> Caused by: org.apache.avro.SchemaParseException: Can't redefine:
> com.example.avro.Address
> at org.apache.avro.ParseContext.put (ParseContext.java:219)
> at org.apache.avro.Schema.parseRecord (Schema.java:1865)
> at org.apache.avro.Schema.parse (Schema.java:1835)
> at org.apache.avro.Schema.parseField (Schema.java:1891)
> at org.apache.avro.Schema.parseRecord (Schema.java:1872)
> at org.apache.avro.Schema.parse (Schema.java:1835)
> at org.apache.avro.Schema$Parser.parse (Schema.java:1538)
> at org.apache.avro.Schema$Parser.parseInternal (Schema.java:1523)
> at org.apache.avro.JsonSchemaParser.parse (JsonSchemaParser.java:86)
> at org.apache.avro.JsonSchemaParser.parse (JsonSchemaParser.java:77)
> at org.apache.avro.SchemaParser.parse (SchemaParser.java:245)
> at org.apache.avro.SchemaParser.parse (SchemaParser.java:137)
> at org.apache.avro.SchemaParser.parse (SchemaParser.java:103)
> at org.apache.avro.SchemaParser.parse (SchemaParser.java:88)
> at org.apache.avro.mojo.SchemaMojo.doCompile (SchemaMojo.java:82)
> at org.apache.avro.mojo.AbstractAvroMojo.compileFiles
> (AbstractAvroMojo.java:327)
> at org.apache.avro.mojo.AbstractAvroMojo.execute
> (AbstractAvroMojo.java:262)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:126)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:328)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at jdk.internal.reflect.DirectMethodHandleAccessor.invoke
> (DirectMethodHandleAccessor.java:103)
> at java.lang.reflect.Method.invoke (Method.java:580)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:255)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:201)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:361)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:314) {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)