我使用Apache_Gora_0.2.1和Apache Nutch_2.1。
-
Nutch依赖于Gora。
-
Gora有两个模块Gora -core和Gora -hbase。
-
ora的所有模块都使用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. 1.5.3。我该如何解决这个问题?
您应该避免类路径中有不同版本的相同jar的情况。要解决这个问题,您需要找到使用类似avro版本的Apache_Gora_0.2.1和Apache Nutch_2.1版本。尝试使用Apache Nutch_1.6,因为Apache_Gora_0.2.1是最新版本。然后,排除最低版本,问题就解决了。
另一种可能是将Nutch降级到2.0,因为它可以与avro 1.3.3一起工作。如果我没记错的话,ora-hbase不能在avro 1.5.3下运行,只能在1.3.3下运行。
同时,告诉ora-hbase只使用avro来序列化值…为什么你需要它来使用avro 1.5.3?