【发布时间】:2016-07-05 17:58:14
【问题描述】:
我正在测试使用 Avro 转换一些文件,我添加了 guide of avro 1.7.7 建议的依赖项。
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.7.7</version>
</dependency>
以及 Avro Maven 插件(用于执行代码生成):
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>1.7.7</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
但是本指南使用 shell 命令来编译 avro 模式 user.avsc。想请教在eclipse IDE中如何编译。
【问题讨论】:
-
只需从 Eclipse 运行 Maven 构建。右键单击该项目,然后选择“Run as... > Maven install”作为开始。 重要的旁注:
<outputDirectory>${project.basedir}/src/main/java/</outputDirectory>是错误的:您不想在src下生成源。生成的源代码应始终放在target下,并且不受版本控制(如果插件尚未这样做,您可以使用build-helper-maven-plugin将它们添加到构建路径中)。