avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Scott Carey <scottca...@apache.org>
Subject Re: How should I migrate 1.4 code to avro 1.5?
Date Sat, 03 Sep 2011 00:16:33 GMT
Some comments:

You should check in the *.avdl or *.avsc file that describes your MyPair
schema instead of the generated code.  Maven can be used to generate the
Java class using the avro-maven-plugin.

For example, add:
<plugin>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-maven-plugin</artifactId>
        <version>1.5.3</version>
        <executions>
          <execution>
            <id>schemas</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>schema</goal>
            </goals>
            <configuration>
              <sourceDirectory>src/main/avro</sourceDirectory>
              
<outputDirectory>target/generated-sources/avro</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

To your pom to compile *.avsc files from src/main/avro  into
target/generated-sources/avro.

For more help on this, add the plugin above to your pom, and type:

'mvn avro:help'  for basic documentation, or 'mvn avro:help ­Ddetail=true'
for full documentation on the maven plugin.

Some IDE's are a little picky with this (especially Eclipse, and moreso with
recent versions) and you may need to manually generate the source from
command line or in the IDE  ('mvn generate-sources');

-Scott

On 9/2/11 2:41 PM, "W.P. McNeill" <billmcn@gmail.com> wrote:

> I'm new to Avro. Since I'm having trouble finding simple examples online I'm
> writing one of my own that I'm putting on github.
> 
> https://github.com/wpm/AvroExample
> 
> Hopefully, this will be of help to people like me who are also having trouble
> finding simple code examples.
> 
> I want to get this compiling without of hitch in Maven. I had it running with
> a 1.4 version of Avro, but when I changed that to 1.5, some of the code no
> longer works. Specifically, BinaryEncoder can no longer be instantiated
> directly because it is now an abstract class (AvroExample.java: line 33) and
> DecoderFactory.defaultFactory is deprecated (AvroExample.java: line 41).
> 
> How should I modify this code so that it works with the latest and greatest
> version of Avro?  I looked through the Release Notes, but the answers weren't
> obvious.
> 
> Thanks.
> 



Mime
View raw message