[ 
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)

Reply via email to