2013-04-01 57 views
0

我得到這個錯誤在我的源代碼時,():的NoSuchMethodError升級到HBase的-0.94.2

java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V 

,當我從HBase的-0.92.1-cdh4.1.1升級到HBase的-0.94.2 -cdh4.2.0 我看到,該方法的簽名是由

public void setMaxVersions(int maxVersions) 

改爲

public HColumnDescriptor setMaxVersions(int maxVersions) 

我猜有比納爾y兼容性丟失。有人可以解釋如何解決這個問題嗎?謝謝。

回答

1

您可以使用Java反射來做到這一點:

HColumnDescriptor fam1 = new HColumnDescriptor(Bytes.toBytes('cf')); 
Method method = fam1.getClass().getMethod("setMaxVersions", Integer.TYPE); 
method.invoke(fam1, 10);