SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/hbase/lib/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/hadoop-0.20/lib/slf4j-log4j12-1.4.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/apache-nutch-1.6/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/apache-cassandra-1.2.0/lib/slf4j-log4j12-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. Exception in thread "main" java.lang.NoSuchMethodError: org.apache.thrift.meta_data.FieldValueMetaData.原因は、エラーログの通り、複数のself4j-log4jがクラスパスに存在するため。(BZ)V at org.apache.cassandra.thrift.ColumnParent. (ColumnParent.java:128) at NutchCassandraData. (NutchCassandraData.java:66) at NutchCassandraData.main(NutchCassandraData.java:108)
今回は、HBaseとHadoopのlibをクラスパスに通していた。これを外すことで解決。
Javaは勉強不足。コンパイル時になんとかなりそうな問題。
0 件のコメント:
コメントを投稿