1

我使用 Apache_Gora_0.2.1 和 Apache Nutch_2.1 。

  • Nutch 依赖于 Gora。

  • Gora 有 gora-core 和 gora-hbase 模块。

  • gora-hbase 依赖于 gora-core。

  • Gora 的所有模块都使用 avro_1.3.3.jar 。我想将 avro_1.3.3.jar 用于 gora-core ,将 avro_1.5.3.jar 用于 gora-hbase 。

  • 我通过 Maven 成功编译了 Gora,并通过 Ant 和 Ivy 成功编译了 Nutch。

然后似乎是 Nutch 类路径中的两个版本(avro.1.3.3.jar 和 avro.1.5.3.jar)。如果我通过 ivy.xml 排除 avro_1.5.3.jar,gora-hbase 不要使用 avro.1.5.3。我怎么解决这个问题?

4

2 回答 2

0

另一种可能性是将 Nutch 降级到 2.0,因为这适用于 avro 1.3.3。如果我没记错的话,gora-hbase 不适用于 avro 1.5.3,而是 1.3.3。

同时,告诉gora-hbase只使用avro来序列化值……为什么需要它来使用avro 1.5.3?

于 2013-05-09T15:49:57.537 回答
0

当您在类路径中有不同版本的相同 jar 时,您应该避免这种情况。要解决您的问题,您需要找到使用类似 avro 版本的 Apache_Gora_0.2.1 和 Apache Nutch_2.1 版本。尝试使用 Apache Nutch_1.6,因为 Apache_Gora_0.2.1 是最新版本。然后,您排除最低版本并解决您的问题。

于 2013-04-18T09:56:38.030 回答