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" <[email protected]> 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.
>