我使用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。我想对gora-core使用avro_1.3.3.jar,为gora-hbase使用avro_1.5.3.jar。
我通过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。 我怎么解决这个问题?
答案 0 :(得分:0)
当您在类路径中具有不同版本的相同jar时,应该避免这种情况。 要解决您的问题,您需要找到使用相似版本的avro的Apache_Gora_0.2.1和Apache Nutch_2.1的版本。 尝试使用Apache Nutch_1.6,因为Apache_Gora_0.2.1是最新版本。 然后,您排除最低版本,然后解决问题。
答案 1 :(得分:0)
另一种可能性是将Nutch降级为2.0,因为这适用于avro 1.3.3。 如果我没有错,gora-hbase不适用于avro 1.5.3,而是1.3.3。
同时,告诉gora-hbase只使用avro序列化值...为什么需要它来使用avro 1.5.3?